Java学习第九天

Java学习第九天知识盲点

2021/7/16第九天
1、创建内部类对象格式:
外部类名.内部类名 对象名 = new 外部类型().new 内部类型();
外部类名.内部类名 对象名 = 外部类对象名.new 内部类型();
2、无关类调用内部类,在外部类方法中new一个内部类对象 或 创建内部类对象
3、内部类可以直接调用外部类方法、对象。外部类调用内部需要new内部类对象
4、如果有重名,就近原则,this.a(本类中),外部类名.this.a(外部类中)
5、局部内部类(只使用一次)不能有修饰符。
6、内部类主要用于:继承抽象类/实现接口
7、局部内部类中使用局部变量时,默认加了final无法修改(成员变量可以正常使用)。但是局部变量方法内是可以修改的。

package day09.part;

public class PartInner {
    int b=1;
    public void M1(){
        int num=10;
        num=30;//方法内可以正常使用
        //局部内部类不可加修饰符
        class M1{
            int a=1;
            public void PartIn(){//外部类和自己的成员变量可以正常赋值,运算。但是局部变量不行
                a=a++;
                num=10;//Variable 'num' is accessed from within inner class, needs to be final or effectively final
                b=b++;
            }

        }
    }
}

8、内部类

package day09;

public class Outer {
    int a=1;
    public class Inner{
        int a=2;
        private void testIn(){
            int a=3;
            testOut();//可以直接调用外部类方法
            System.out.println(a);//三个a变量
            System.out.println(this.a);//this是这个类中的a(当前)
            System.out.println(Outer.this.a);//调用外部类Outer的当前的a
        }

    }
    private void testOut(){
        Inner in=new Inner();
        in.testIn();//外部类方法内必须先创建对象才能调用内部类方法
    }
}

9、静态内部类new方法

Out.staticpart i=new Out.staticpart;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值