Java面向对象之内部类-创新互联
写在一个类里面的类就是内部类。
成都创新互联公司专注于抚远企业网站建设,响应式网站开发,成都做商城网站。抚远网站建设公司,为抚远等地区提供建站服务。全流程按需网站建设,专业设计,全程项目跟踪,成都创新互联公司专业和态度为您提供的服务2、什么时候用到内部类B类表示的事物是A类的一部分,且B单独存在没有意义。
比如:汽车的发动机,ArrayList的迭代器,人的心脏等。
3、内部类的分类成员内部类、静态内部类、局部内部类、匿名内部类。
4、成员内部类写在成员位置的,属于外部类的成员。
获取成员内部类的方式方法一:当成员内部类被private修饰时:
在外部类编写方法,对外提供内部类对象。
public class outer {
private class inner{
}
public inner getInstance(){
return new inner();
}
}
方法二:在成员内部类被非私有修饰时,直接创建对象。
outer.inner oi=new outer().new inner();
相当于创建外类的对象,用外类的对象调用内部类。
4、外部类成员变量和内部类成员变量重名时,内部类如何访问
public class test {
private int a=10;
class inner{
private int a=20;
public void show(){
int a =30;
System.out.println(a);//30
System.out.println(this.a);//20
System.out.println(test.this.a);//10
}
}
}
5、静态内部类静态内部类是一种特殊的成员内部类。
创建静态内部类对象的方法Outer.inner oi=new Outer.inner();
如何调用静态内部类中的方法非静态方法:先创建对象,用对象调用
静态方法:外部类名.内部类名.方法名();
静态内部类如何调用外部类的普通成员变量同静态方法,需要在内部类创建外部类的对象,用对象的方式调用变量。
6、局部内部类1、内部类定义子方法中就叫做局部内部类,类似于方法中的局部变量。
2、方法中局部内部类是无法直接调用的,需要在方法内部创建对象才能调用。
3、该类可以直接访问外部类的成员,也可以访问方法中的局部变量。
注意:局部变量不可以使用public 和private修饰,局部内部类和局部变量作用等同,也不可以被修饰。
7、匿名内部类隐藏了名字的内部类,可以写在成员位置,也可以写在局部位置。
匿名内部类的格式new 类名或者接口名(){
重写方法;
}
格式的细节包含了继承或实现,方法重写,创建对象。
整体就是一个类的子类对象,或者接口的实现类对象。
使用场景当方法的参数是接口或者类时,
以接口为例,可以传递这个接口的实现类对象。
如果实现类只要使用一次,我们可以用匿名内部类优化代码。
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
分享名称:Java面向对象之内部类-创新互联
文章来源:http://pwwzsj.com/article/dhehes.html