内部类

内部类

在类的内部在定义一个类

  1. 成员内部类
  2. 静态内部类
  3. 局部内部类
  4. 匿名内部类

创建内部类的对象:

public static void main(String[] args) {
        //先创建外部类对象
        outer outer = new outer();
        //通过外部类对象new内部类对象
        outer.Inner inner = outer.new Inner();
        inner.in();
    }

public class outer {
    private int id=999;
    public void out(){
        System.out.println("这是外部类的方法");
    }
    //重点:内部类可以调用外部类的属性和方法,但这和继承不一样哦,继承是直接将属性方法给了子类,而这里需要调用得到
    public class Inner{
        public void in(){
            System.out.println("这是内部类的方法");
            System.out.println(id);//输出外部类的属性
            out();//直接调用外部类的方法
        }
    }
}
  • 一个Java文件只能有一个public class,但可以有多个class文件

这个A类也叫内部类:

public class outer {
}
class A{

}

B类为局部内部类:

public class outer {
    public void A(){
        class B{
        }
    }
}

匿名内部类(直接new一个对象,没有返回名字):

public class outer {
    public static void main(String[] args) {
        //没有名字,没有将实例保存到变量中
        new Apple().eat();
        //用匿名内部类实现了接口
        new UserService(){
            @Override
            public void a() {

            }
        };
    }
}
class Apple{
    public void eat(){
        System.out.println("吃");
    }
}
interface UserService{
    void a();
}

这些内部类,现在了解这些就够了,之后遇到在慢慢看

(0)

相关推荐

  • 怎么一本正经地秀技

    前言 修饰符怎么使用也是Java基础中比较重要的知识点,彻底理解了之后,后面学习更高深的东西才能得心应手.今天,以修饰符中比较常见的final为切入点,来谈谈final的使用的奇淫技巧以及一些相关的知 ...

  • Java基本概念:内部类

    一.简介 描述: 很多时候我们创建类的对象的时候并不需要使用很多次,每次只使用一次,这个时候我们就可以使用内部类了. 内部类不是在一个java源文件中编写两个平行的类,而是在一个类的内部再定义另外一个 ...

  • 解析Java编程思想--内部类

    一个类的定义可以放在另一个类的定义内,它叫做内部类.内部类是一种非常有用的特性,因为它可以让你将逻辑相关的类组织在一起,并且控制类的视觉效果.但我们必须认识到,内部类和组合是截然不同的概念.在最初,内 ...

  • Java局部内部类

    局部内部类是指在一个方法中定义的内部类.示例代码如下: public class Test { public void method() { class Inner { // 局部内部类 } } }1 ...

  • Kotlin学习手记——单例、内部类、数据类、枚举类、密封类、内联类

    Kotlin单例: 只需要类前面添加object关键字即可,object定义类等价于java的恶汉式的单例模式 object Singleton { var x: Int = 2 fun y(){ } ...

  • 面试官:什么是内部类?|这么回答就妥妥的

    回复"000"获取大量电子书 本文内容 什么是内部类? 我们将一个类A定义在另外一个类B中,那么这个类A就叫内部类. 为什么需要内部类呢? 有三点原因: 内部类方法可以访问该类定义 ...