方法參數類型及返回值,權限修飾符,內部類,匿名內部類

方法參數以及返回值問題研究

形式參數是基本類型要的是具體數值,是類名要的是子類的對象,是抽象名要的是抽象類的子類對象,是接口名要的是接口的實現類的子類對象。

基本類型

public class MyTest {
public static void main(String[] args) {
Student student = new Student();
setStudent(student,100);
student.show(new Student(),18);
System.out.println(student.num); //18
}
private static void setStudent(Student student,int num) {
student.num=num;
}
}
class Student{
int num=20;
public void show(Student student,int num){
this.num=num;
}
}

抽象類型

public class MyTest2 {
public static void main(String[] args) {
MyClasss aa = new AA();
setMyClss(aa, 200);
System.out.println(aa.num); //10
}

private static void setMyClss(MyClasss myClss, int num) {
    myClss.show(num);
}

}

abstract class MyClasss {
int num = 10;

public abstract void show(int num);

}

class AA extends MyClasss {
int num = 20;

@Override
public void show(int num) {
    this.num = num;
}

}

接口類型

public class MyTest3 {
public static void main(String[] args) {

    MyInterface bb = new BB();
    setInterface(bb,600);
    System.out.println(bb.num);//100
    System.out.println(MyInterface.num); //100
}

private static void setInterface(MyInterface myInterface,int num) {
    myInterface.show(num);

}

}

interface MyInterface{
int num=100;
void show(int num);
}

class BB implements MyInterface{
int num=500;
@Override
public void show(int num) {
this.num=num;
}
}
2.

返回值類型是基本類型返回的是具體值,是類名返回的是類的子類對象,是抽象類要的是該抽象類的子類對象,是接口要的是該接口的實現類的對象。

權限修飾符

四個權限修飾符的等級排列:
public>protected>默認的>private

  1. 修飾符:
    權限修飾符:private,默認的,protected,public
    狀態修飾符:static,final
    抽象修飾符:abstract

  2. 修飾類的關鍵字:
    權限修飾符:默認修飾符,public
    狀態修飾符:final
    抽象修飾符:abstract

  3. 修飾成員變量的關鍵字:
    權限修飾符:private,默認的,protected,public
    狀態修飾符:static,final

  4. 修飾構造方法的關鍵字:
    權限修飾符:private,默認的,protected,public

  5. 修飾成員方法的關鍵字:
    權限修飾符:private,默認的,protected,public
    狀態修飾符:static,final
    抽象修飾符:abstract

  6. 除此以外的組合規則:
    成員變量:public static final
    成員方法:public static
    public abstract
    public final

內部類

概述:在類裏面定義了一個類,這個類就被稱作把內部類。

1.內部類可以直接訪問外部裏的成員,包括其私有的;但是外部類要想訪問內部類必須要創建其對象。
2.訪問成員內部類的格式:外部類名.內部類名 對象名=外部類對象.內部類對象;
3.成員內部類被靜態修飾後的訪問方式是格式:外部類名.內部類名 對象名=new 外部類對象.內部類對象;

匿名內部類

  1. 具備內部類的簡化形式。

  2. 存在的前提:存在一個類或者接口,這裏的類可以是具體類也可以是抽象類。

  3. 本質:一個繼承了該類或實現了該接口的子類匿名對象。

  4. 格式:
    new 類名或者接口名(){
    重寫方法;
    } ;

  5. 普通類的匿名內部類對象
    public class MyTest {
    public static void main(String[] args) {
    VV vv= new VV(){
    @Override
    public void test() {
    }
    };
    vv.test();
    }
    }
    class VV {
    public void test() {
    }
    }

  6. 抽象類的匿名內部類對象
    public class MyTest2 {
    public static void main(String[] args) {
    set(new MyClass() {
    @Override
    public void show() {
    System.out.println(“aaaaaaaaaaaaaaaaaa”);
    }
    });
    MyClass my= new MyClass() {
    @Override
    public void show() {
    System.out.println(“aaaaaaaabbbbbbbbbbbbbbbbbbbaaaaaaaaaa”);
    }
    };
    set(my);
    public static void set(MyClass myClass){
    myClass.show();
    }

    public static void set2(WW ww) {
    ww.hehe();
    }
    }

abstract class MyClass{
public abstract void show();
}

interface WW{
void hehe();
}

Object

public boolean equals(Object obj)
指示相比較的兩個對象是否相等 比的是地址。

public final Class getClass()
返回此object的運行時類,可以通過class類中的一個方法,獲取對象的真實類的全名稱。

public int hashCode()
返回該對象的哈希碼值。默認情況下,該方法會根據對象的地址來計算。同一對象哈希碼值一般相同。哈希碼值是對象的邏輯地址值。

public String toString()
返回該對象的字符串表示

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