您现在的位置是:主页 > news > wordpress 08影院2.0/seo什么意思
wordpress 08影院2.0/seo什么意思
admin2025/5/16 2:43:14【news】
简介wordpress 08影院2.0,seo什么意思,外贸网站怎么做seo优化,淘金企业网站建设科普知识前言Java内部类的学习暂时告一段落,小编功底有限,暂时不能往深处讲,但小编会继续和大家一起不断积累,争取有朝一日可以和大家分享更深层次的知识。本周我们来学习Java匿名类。一、Java匿名类匿名类是指没有类名的内部类&a…
科普
知识
前言
Java内部类的学习暂时告一段落,小编功底有限,暂时不能往深处讲,但小编会继续和大家一起不断积累,争取有朝一日可以和大家分享更深层次的知识。本周我们来学习Java匿名类。
一、Java匿名类
匿名类是指没有类名的内部类,必须在创建时使用 new 语句来声明类。
声明匿名类的语法格式如下:
new <类或接口>() {
// 类的主体
};
这种形式的new语句声明一个新的匿名类,它对一个给定的类进行扩展,或者实现一个给定的接口。使用匿名类可使代码更加简洁、紧凑,模块化程度更高。
二、匿名类的实现方式
匿名类的实现方式有两种:
1)继承一个类,重写其方法。
2)实现一个接口(可以是多个),实现其方法。
下面我们通过实战来分别来说明:
2.1 继承一个类,重写其方法
package code.tisheng11;
public class Anonymity { //构造一个匿名外部类
void show() {System.out.println("调用(外部类)Anonymity类的show()方法");}
class TestAnonymity {
private void show() {Anonymity anony= new Anonymity() { //在此方法中构造一个匿名内部类
void show() { //获取匿名内部类的实例,重写其方法System.out.println("调用(内部类)TestAnonymity类中的show()方法");}};anony.show(); //调用匿名内部类的show()方法}}
public static void main(String[] args) {TestAnonymity test = new Anonymity().new TestAnonymity();//创建内部类的实例testtest.show();//获取匿名内部类的show()方法Anonymity anony = new Anonymity();//实例化外部类anony.show();//获取外部类的show()方法}}
2.2 接口实现匿名类
package code.tisheng11;//定义一个接口
public interface PowerSupply {
//开通电源
void Open();
//关闭电源
void Close();
}
package code.tisheng11;//一个类用以实现接口,并在里面使用匿名内部类
public class Computer {
public static PowerSupply Control_Power() {
return new PowerSupply() {//构造一个匿名类
@Override
public void Open() {//注意:实现接口时,需重写所有的抽象方法System.out.println("接通计算机的电源...");}
@Override
public void Close() {System.out.println("断开计算机的电源...");}};}
}
package code.tisheng11;//接口实现匿名类
public class Testpower {
public static void main(String[] args) {System.out.println("----------------------------");PowerSupply computer = Computer.Control_Power();computer.Open();System.out.println("-----------------------------");computer.Close();}
}
三、匿名类的特点
匿名类的特点有以下三个:
匿名类和局部内部类一样,可以访问外部类的所有成员。
匿名类中允许使用非静态代码块进行成员初始化操作。
匿名类的非静态代码块会在父类的构造方法之后被执行。
前面在匿名类的实现方法中,小编已使用了上述特点1和2,剩下的留给大家去探索吧~
END
习题时间:
定义一个Father和Child类,并进行测试。要求如下:
1)Father类为外部类,类中定义一个私有的String类型的属性name,name的值为“Dad”。
2)Child类为Father类的内部类,其中定义一个introFather()方法,方法中调用Father类的name属性。
3)定义一个测试类Test,在Test类的main()方法中,创建Child对象,并调用introFather ()方法。
编辑:玥怡居士|审核:世外居士
往期精彩回顾
Java学习历程之----提升篇(十)
Java学习历程之----提升篇(九)
Java学习历程之----提升篇(八)
扫码关注我们
IT进阶之旅
我就知道你“在看”