Javaのアクセス修飾子

Javaのアクセス修飾子の働きを忘れてたので調べた。

アクセス修飾子自ファイル他ファイル
自クラスサブクラス他クラスサブクラス他クラス
public
protected ×
なし × ×
private × × × ×

exampleA/ExClassAファイル

package exampleA;

public class ExClassA {
  public    String exPublic = "publicアクセスレベル";
  protected String exProtected = "protectedアクセスレベル";
            String exDefault = "無指定アクセスレベル";
  private   String exPrivate = "privateアクセスレベル";
}

exampleB/ExClassBファイル

package exampleB;

import exampleA.*;

public class ExClassB extends ExClassA {  //(1)
  public static void main(String[] args) {
    ExClassA objectA = new ExClassA();  //(2)
    System.out.println(objectA.exPublic);  //(3)
  //System.out.println(objectA.exProtected);  //(4)
  //System.out.println(objectA.exDefault);  //(5)
  //System.out.println(objectA.exPrivate);  //(6)

    ExClassB objectB = new ExClassB();  //(7)
    System.out.println(objectB.exProtected);  //(8)
  }
}

参照

すごい Haskell たのしく学ぼう! 正誤表のようなもの(非公式)

後で読み返すときのため。

※この表の内容は、間違っている場合があります

 

ページ
p101 findKey関数4行目 | key == x = Just v | key == k = Just v
p194 remove関数7-8行目 putStrLn..., mapM_...  
p198 21行目 新しい形クラス 新しい型クラス
p264 21行目 引き継ぎがない 引き継がない

関数適用の優先順位

関数適用の優先順位はどんな演算子の優先順位よりも高い。

演算子化された関数の優先順位は、infixl 9。

プレリュード演算子の優先順位と結合性

Precedence Left associative
operators
Non-associative
operators
Right associative
operators
9 !!   .
8     ^, ^^, **
7
 
*, /, `div`,
`mod`, `rem`, `quot`
   
6 +, -    
5     :, ++
4
 
  ==, /=, <, <=, >, >=,
`elem`, `notElem`
 
3     &&
2     ||
1 >>, >>=    
0     $, $!, `seq`

ただし、無結合(infix)、左結合(infixl)、右結合(infixr)。

 

参考
http://d.hatena.ne.jp/marony0607/20111205/1323103005

EmacsのHaskell-modeでゴミが表示される

EmacsHaskell-modeで以下のようなゴミが表示される

#[nil "\300C\207" [t] 2]

これを解消するには、haskell-mode.el内の

(pp (byte-compile (lambda () (values t)))))

を含む関数をコメントアウトする

 
環境
haskell-mode-2.8.0
emacs-23.2
 
参考にしたページ(というかそのまま