java 基礎

1  java修飾符


java中訪問修飾符public、private、protecte、default的意義講解:
public(接口訪問權限): Java語言中訪問限制最寬的修飾符,一般稱之爲“公共的”。被其修飾的類、屬性以及方法不僅可以跨類訪問,而且允許跨包(package)訪問。
private(無法訪問): Java語言中對訪問權限限制的最窄的修飾符,一般稱之爲“私有的”。被其修飾的類、屬性以及方法只能被該類的對象訪問,其子類不能訪問,更不能允許跨包訪問。
protected(繼承訪問權限): 介於public 和 private 之間的一種訪問修飾符,一般稱之爲“保護形”。被其修飾的類、屬性以及方法只能被類本身的方法及子類訪問,即使子類在不同的包中也可以訪問。
default(包訪問權限):即不加任何訪問修飾符,通常稱爲“默認訪問模式“。該模式下,只允許在同一個包中進行訪問。


2 java接口內定義抽象方法

在定義接口時,如果使用 private 修飾符Eclipse會提示如下錯誤:Illegal modifier for the interface method test01; only public & abstract are permitted

對接口修飾符測試如下:

對接口中方法修飾符測試:

public interface Test01 {
void test01() ;
public void test02() ;
public abstract void test03() ;
}


編譯後的.class文件

public abstract interface Test01
{
  public abstract void test01();
  public abstract void test02();
  public abstract void test03();
}

解釋:根據編譯結果 會發現接口中定義的方法修飾符其實都爲 public abstract  無論代碼中是否做了標示

如 Runnable接口

public interface Runnable {
    public abstract void run();
}

Callable接口

public interface Callable<V> {
    V call() throws Exception;
}


對接口修飾符測試:

interface Test01 {
void test01() ;
public void test02() ;
public abstract void test03() ;
}

編譯後的.class文件

abstract interface Test01
{
  public abstract void test01();
  public abstract void test02();
  public abstract void test03();
}

解釋:根據編譯結果 我們對接口沒有做public修飾符時  使用的仍是默認訪問權限,也即:只用同一包下的類能實現該類


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章