成都网站建设设计

将想法与焦点和您一起共享

Java面向对象之内部类-创新互联

1、什么是内部类

写在一个类里面的类就是内部类。

成都创新互联公司专注于抚远企业网站建设,响应式网站开发,成都做商城网站。抚远网站建设公司,为抚远等地区提供建站服务。全流程按需网站建设,专业设计,全程项目跟踪,成都创新互联公司专业和态度为您提供的服务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://chengdu.cdxwcx.cn/article/dhehes.html