JavaSe学习总结_day07

(一)形式参数和返回值

1 形式参数

1.1 基本数据类型:直接调用

1.2 引用类型:

a 具体类:需要创建该类对象

代码:

运行结果:

b 抽象类:需要创建该抽象类子类对象(抽象类多态)

代码:

运行结果:

c 接口:需要创建该接口子实现类对象(接口多态)

代码:

运行结果:

2 返回值:

2.1 基本类型:用对应基本类型直接接收

2.1 引用类型:

a 具体类:返回的是该具体类的对象

代码:

运行结果:

b 抽象类:返回的是该抽象类的子类的对象

代码:

运行结果:

c 接口:返回的是该接口的子实现类的对象

代码:

运行结果:

(二)内部类

1 定义:在一个类中定义另一个类

2 特点:

a 内部类可以去访问外部类的成员(包括私有)

b 外部类的成员访问内部类的成员:创建内部类对象,由内部类对象访问内部的成员

3 分类:

3.1 成员内部类:在外部类的成员位置

3.1.1 非静态:

外部类访问成员内部类的成员方法:外部类名.内部类名 对象名 = 外部类对象.内部类对象 ;

代码:

运行结果:

3.1.2 静态:

外部类访问成员内部类的成员方法:外部类名.内部类名 对象名 = new 外部类.内部类() ;

代码:

运行结果:

3.2 局部内部类:在方法中定义的类

3.2.1外部类访问成员内部类的成员方法:在外部类的成员方法中创建内部类对象,然后对象名.局部内部类的成员方法来调用

代码:

运行结果:

3.2.2 局部内部类访问局部变量呢(jdk版本是1.8以下)?

局部内部类访问局部变量的,该变量必须被final修饰

原因:局部变量随着方法调用而存在的,随着方法的调用完毕而消失.

有一个局部内部类,在外部类的成员方法中在使用内部类对象(对象的创建完毕,不会立即被垃圾回收器回收掉),使用内部类对象,调用内部类的成员方法,就需要去访问局部变量,那么这个变量需要常驻内存(变成常量),所以它必须被final修饰

3.3 匿名内部类:内部类的简化版

3.3.1 前提:存在一个类或接口

格式:

new 类名/接口名(){
     重写/实现一些方法()..
} ;

代码:

运行结果:

猜你喜欢

转载自blog.csdn.net/jcx_1020/article/details/81215185