Java开发——13.权限+内部类

Java开发——13.权限+内部类,第1张

权限修饰符:

注意事项:

在四大权限中,public是最大的权限,private是最小的权限;
在编写代码时,如果没有特殊的考虑,建议以下使用方式:
成员变量使用 private ,隐藏细节。
构造方法使用 public ,方便创建对象。
成员方法使用 public ,方便调用
在这里只需要在设置变量的时候自己留意就行,一般较为常用的就是private修饰成员变量!除了private的使用方法有些特殊,需要get或者set方法获取…其他的仅做修饰时使用。

内部类:

将一个类A定义在另一个类B里面,里面的那个类A就称为内部类,B则称为外部类。

内部类的分类:成员内部类、局部内部类、匿名内部类;

成员内部类和成员变量,以及局部内部类和局部变量声明的位置是相同的;成员内部类声明在类中,方法外;局部内部,声明在方法中;

成员内部类定义:
//成员内部类
class 外部类 {
    class 内部类{ 
    }
}
成员内部类的注意事项:

内部类可以直接访问外部类的成员,包括私有成员。
外部类要访问内部类的成员,必须要建立内部类的对象。

成员内部类实例对象:
外部类名.内部类名 对象名 = new 外部类型().new 内部类型();
//注意:后面是 .new 内部类型(); 不要省略 .new
局部内部类定义:
//局部内部类
class 外部类 {
    public void 方法名(){
        class 内部类{ 
        }
    }
}
局部内部类实例:

是在方法内部声明局部内部类对象,然后直接调用局部内部类中的方法!

public class Test {
    public static void main(String[] args) {
        Outer outer = new Outer();
        outer.show();
    }
}
​
​
public class Outer {
    public void show(){
        // 局部内部类
        class Inner{
            public void method(){
                System.out.println("Inner 局部内部类的method方法执行了....");
            }
        }// 在外部类的方法内使用局部内部类
        Inner inner = new Inner();
        inner.method();}
}
匿名内部类:

匿名内部类是内部类的简化写法。
它的本质是一个 具体实现的 父类或者父接口的 ->匿名的 子类对象。 开发中,最常用到的内部类就是匿名内部类了。

使用匿名内部类的前提

匿名内部类必须 继承一个父类 或者 实现一个父接口。

匿名内部类的定义:
new 父类名或者接口名(){
    // 方法重写
    @Override 
    public void method() {        // 执行语句
    }
};
匿名内部类的使用:

以接口为例,匿名内部类的使用,代码如下:

//定义一个接口
public interface FlyAble{
    public abstract void fly();
}

//匿名内部类的实现:

public class InnerDemo2 {
    public static void main(String[] args) {
        FlyAble f = new FlyAble(){
            //直接重写抽象方法
            public void fly(){
                System.out.println("飞!");
            }
            @Override
            public void fly2()
 {
                System.out.println("飞!2222!");
            }
        };
        f.fly();
        f.fly2();
    }
}
匿名内部类的优点:

可以不用再写一个实现类来实现接口,可以直接使用。

欢迎关注微信公众号:小红的成长日记,一起学Java!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/739695.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-28
下一篇 2022-04-28

发表评论

登录后才能评论

评论列表(0条)

保存