《内部类》

内部类

介绍:
 	一个事物的内部,还有一个部分需要一个完整的结构进行描述,而这个内部的完整的结构又只为外部事物提供服务,那么整个内部的完整结构最好使用内部类。在 Java 中,/*个类定义在另一个类或者一个方法的内部,前者称为内部类,后者称为外部类。*/类也是封装的一种体现。

内部类分类:
	1.实例内部类
    2.静态内部类
    3.本地内部类//了解
    4.匿名内部类
     ====================
1.实例内部类
class Demo1{
    public int date1=1;
    private int date2=2;
    public static  int date3=3;

    /**
     * 实例内部类
     * 1。如何实例化实例内部类??
     *  外部类类名.内部类   变量=外部类引用.new 内部类()
     *  Demo1.Demo2      demo2=demo1.new Demo2();
     *2.实例内部类不能定义静态成员变量,如果定义要加final修饰,没有为什么这是语法规定
     * 3.实例内部类不能构造静态的成员方法
     * 4.实例内部类怎么访问外部类成员变量??
     *通过外部类类名.this会访问外部类成员变量
     * 
     *
     */
    class Demo2{
        public int date1=111;//内部类变量与外部类变量相同
        public int date4=4;
        private  int date5=5;
        //public static int date6=6;//内部类里面不能直接定义静态的成员变量,要加final

        public  Demo2(){
            System.out.println("实例内部类的构造方法");
        }
         public void num1(){
             System.out.println("实例内部类的普通方法");
             System.out.println(this.date1);//不加this会优先访问局部变量没有时才会访问全局变量,加this时会访问内部类变量
             System.out.println("外部类成员访问"+Demo1.this.date1);//通过外部类.this会访问外部类成员变量
             System.out.println(date2);
             System.out.println(date3);
             System.out.println(date4);
             System.out.println(date5);
    }
    }

    }

public class Test1 {
    public static void main(String[] args) {
        Demo1 demo1=new Demo1();//先创造外部类对象
        Demo1.Demo2 demo2=demo1.new Demo2();//用外部类对象引用内部类,在用外部类对象引用创造内部类对象
        demo2.num1();
    }


}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值