面向对象17:N种内部类

内部类的作用

  • 内部类可以获得外部类的私有属性的值
  • 核心:思想 操作 内部类了解就可

例子

public class Outer1 {
    private int id = 10;
    public void out(){
        System.out.println("这是外部类的方法");
    }

    //定义一个内部类
    class Inner{
        public void in(){
            System.out.println("这是内部类的方法");
        }
        //重要作用:内部类可以获得外部类的私有属性~id的值
        public void getID(){
            System.out.println(id);
        }

    }
}

局部内部类

  • 类似在方法里定义的变量则为局部变量
public void method(){
    class Inner{
        public void in(){

        }
    }
}
  • 一个Java类中可以有多个class类,但是只能有一个public class
public class Outer2 {
    //局部内部类(类似在方法里定义的变量则为局部变量)
    public void method(){
        class Inner{
            public void in(){

            }
        }
    }
}

//一个java类中可以有多个class类,但是只能有一个public class
class A{
    public static void main(String[] args) {

    }
}

匿名内部类

public class Test3 {
    public static void main(String[] args) {
        //正常情况:Apple apple = new Apple();

        //这里没有名字初始化类,不用将实例保存在对象中
        new Apple().eat();

        //接口不能new,这里重写了方法
        new UserService(){
            public void hello(){

            }
        };
    }
}
class Apple{
       public void eat(){
           System.out.println("1");
       }
}
/定义接口
interface UserService{

}
posted @   夜月明  阅读(25)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
点击右上角即可分享
微信分享提示