1.形式参数:基本类型:四类八种,传递基本类型的数据值。
引用类型:类,接口,数组,传递该引用类型的对象,实际传递地址值。
2.返回值:基本类型:返回该基本类型的数据值。
引用类型:返回该类型对象的地址值。注:若为接口或抽象类,则返回/传递该接口的实现类或抽象类的子类的对象的地址值。
3.权限修饰符: 本 类 同一个包下的类 不同包下的子类 不同包下的无关类
private: yes no no no
默认: yes yes no no
protected: yes yes no no
public: yes yes yes yes
注:这四种权限修饰符只能有一种存在。
4.内部类:把类A定义在类B的内部,A就是内部类,B称为外部类。
权限:内部类可以直接访问外部类的成员,包括私有。外部类要访问内部类的成员,必须创建对象。
5.成员内部类:顾名思义,在创建对象时而存在:外部类名.内部类名 对象名 = 外部类对象.内部类对象
在图中,heart作为body的内部类,作为成员而存在。因此,不算是严格意义上的类,且之前的权限修饰符不适用于内
部类,一些不能修饰类的关键字可以修饰内部类。而die作为内部类中的成员方法而存在,因此要想调用内部类中的成
员方法,需要在外界创建内部类的对象。
图中可见,在内部类的成员方法中可以访问并修改外部类中私有化的值。
6.内部类的成员也可以被修饰,一般来说private为我们访问成员提供安全性,static为我们访问成员提供便利性。
注:由static修饰的类为静态,即不用创建对象,直接通过类名就可以访问到其中的成员方法或变量。
7.
了解各区域成员变量在内部类中的表示方法。
8.局部内部类:可以直接访问外部类的成员,包括私有。使用时要在成员方法中创建局部内部类的对象,调用其功能
注:局部内部类访问局部变量必须加final修饰,因为局部变量会随着方法调用结束而消失,但此时局部对象并没有从
堆内存中消失,还要继续使用该局部变量,所以系统会报错,而加上final修饰,在堆内存中储存一个常量值,局部对
象就可以继续使用该值。
9.匿名内部类:没有名字的局部内部类,就是内部类的简化写法。
前提:存在一个类或接口,类可以具体也可以抽象。
格式:new 类名或接口名() { 重写方法 ; };
注:匿名内部类本质上是一个继承了类或实现了接口的子类的匿名对象。