1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > JavaSE(五)——修饰符 内部类 匿名内部类

JavaSE(五)——修饰符 内部类 匿名内部类

时间:2019-07-22 00:29:46

相关推荐

JavaSE(五)——修饰符 内部类 匿名内部类

文章目录

1. 方法参数及返回值类型2. 修饰符总结2.1 修饰类2.2 修饰成员变量2.3 修饰成员方法2.4 接口的成员3. 内部类3.1 成员内部类3.2 局部内部类4. 匿名内部类4.1 定义4.2 格式4.3 应用

1. 方法参数及返回值类型

特点:

(1)当一个方法的形参或者返回值类型要一个类类型时,就传一个该类的对象。

(2)当一个方法的形参或者返回值类型要一个抽象类类型时,就传一个继承该抽象类的子类对象。

(3)当一个方法的形参或者返回值类型要一个接口类型时,就传一个实现该接口的子类对象。

实例

2. 修饰符总结

2.1 修饰类

(1)public :默认修饰符,一个java的源文件中只能有一个被public修饰的类,且此类名与文件名相同。

(2)final:被修饰的类不能被继承。

(3)abstract:可以有构造方法,但不能实例化,只能由其子类进行实例化。抽象类的子类要么是抽象类,要么重写父类中的所有抽象方法。

2.2 修饰成员变量

(1)private:被修饰的成员只能在本类中访问,需提供对应的getXX()和setXX()方法。

(2)static :被修饰的成员变量属于类,被类中的所有对象享用。

(3)final :被修饰的变量为常量,不能重新赋值。

2.3 修饰成员方法

(1)private:被修饰的成员方法只能在本类中访问。

(2)static:被修饰的成员方法可通过类名直接调用。格式:类名.方法名();静态方法只能访问静态成员;静态方法能被继承,不能被重写。

(3)final:被修饰的成员方法能被继承,但不能被重写。

(4)abstract:被修饰的成员方法没有具体的方法体,子类必须重写父类的所有抽象方法来具体实现各自的功能。

2.4 接口的成员

(1)成员变量:只能是静态的常量。默认修饰符:public static final

(2)成员方法:只能是抽象方法。默认修饰符:public abstract

3. 内部类

划分:

内部类分为成员内部类和局部内部类。内部类也会生成.class文件。

特点

(1)内部类可以访问外部类的所有成员,包括私有的。

(2)外部类若要访问内部类的成员,需要创建内部类对象。格式:外部类类名.内部类类名 对象名=new 外部类类名().new 内部类类名()

(3)内部类如果被private修饰,则无法创建其对象

(4)内部类如果被static 修饰,则外部创建对象的格式发生改变,格式:外部类类名.内部类类名 对象名=new 外部类类名.内部类类名()

(5)当局部内部类去访问外部类的局部变量时,该成员变量必须是final 修饰

一个内部类对象可以访问创建它的外部类对象的内容,内部类如果不是 static 的,那么它可以访问创建它的外部类对象的所有属性;内部类如果是 static 的,即为 nested class,那么它只可以访问创建它的外部类对象的所有 static 属性。

什么时候使用内部类?

如果一个事物里包含着其他事物,其他事物,可以创建一个内部类。

3.1 成员内部类

定义在外部类中的成员位置,与类中的成员变量相似,可通过外部类对象进行访问。

内部类可以使用外部类的成员,包括私有成员。但是外部类要使用内部类的成员,必须建立内部类变量。

3.2 局部内部类

定义:在方法里面有一个内部类。

只有在内部类所属的方法中创建内部类对象,方可访问局部内部类。而测试类中只需要创建外部类对象,然后调用外部类方法即可。

实例

运行结果

4. 匿名内部类

4.1 定义

是一个继承了某个类或是实现某个接口的子类对象,其本质上是一个对象。

4.2 格式

注意:最后要加分号,表示一个子类对象的建立,必须与父类有继承关系,且匿名内部类只能写在方法中。

实例

运行结果

4.3 应用

常用于作为参数传递或作为返回值返回

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。