首页 > 其他 > 详细

内部类

时间:2021-03-13 23:51:22      阅读:44      评论:0      收藏:0      [点我收藏+]

在一个类里面在定义一个类就叫内部类,这个外边的类就叫外部类

内部类分为4种情况

成员内部类,局部内部类,静态内部类,匿名内部类

成员内部类

//成员内部类
public class D1 {
    //在一个类中除了有成员变量,成员方法,还有成员内部类
    //定义的外部类成员变量
    int m = 0;
    void text(){
        System.out.println("外部类成员方法");
    }
    //定义内部类
    class inter{
        //定义内部类变量
        int n =1;
        //定义内部方法,访问外部成员变量,和方法
        void show(){
            System.out.println("外部成员变量m="+m);
            text();
        }
        void show1(){
            System.out.println("内部类成员方法");
        }
    }
    
    //定义外部类方法,访问内部类变量和方法
    void text1(){
        inter inter = new inter();
        inter.show1();
        System.out.println("内部成员变量 n ="+inter.n);
        
    }

分开写

外部类

//外部类
public class D1 {
    //在一个类中除了有成员变量,成员方法,还有成员内部类
    //定义的外部类成员变量
    int m = 0;
    void text(){
        System.out.println("外部类成员方法");
    }
    
     //定义外部类方法,访问内部类变量和方法
    void text1(){
        inter inter = new inter();
        inter.show1();
        System.out.println("内部成员变量 n ="+inter.n);

    }
//定义内部类
class inter{
    //定义内部类变量
    int n =1;
    //定义内部方法,访问外部成员变量,和方法
    void show(){
        System.out.println("外部成员变量m="+m);
        text();
    }
    void show1(){
        System.out.println("内部类成员方法");
    }
}
//测试类
public class test {
    public static void main(String[] args) {
        D1 d1 = new D1();//创建外部类对象
        D1.inter inter = d1.new inter();//创建内部对象
        inter.show1();
        d1.text1();

    }
}

内部类可以访问外部类的所有成员变量,方法

同理外部类可以访问内部类的所有成员变量,方法

 

局部内部类

也叫方法内部类,定义在一个方法里面

局部内部类可以调用外部方法变量,局部内部类只能自己调用

public class D1 {
    //在一个类中除了有成员变量,成员方法,还有成员内部类
    //定义的外部类成员变量
    int m = 0;

    void text() {
        System.out.println("外部类成员方法");
    }

    void text1() {
        //定义局部内部类
        class inter {
            //定义局部内部类变量
            int n = 1;

            //定义局部内部方法,访问外部成员变量,和方法
            void show() {
                System.out.println("外部成员变量m=" + m);
                text();
            }
        }

        inter inter = new inter();
        System.out.println("局部内部n="+inter.n);
        inter.show();


    }
}
public class test {
    public static void main(String[] args) {
        D1 d1 = new D1();//创建外部对象
        d1.text1();


    }
}

局部内部n=1 外部成员变量m=0 外部类成员方法

静态内部类

就是成员内部类前加一个static

静态内部类只能访问外部的静态成员

匿名内部类

https://www.cnblogs.com/libinhong/p/10990602.html

2021-03-13  16:34:47

内部类

原文:https://www.cnblogs.com/z-hou/p/14529382.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!