首页 > 编程语言 >java内部类

java内部类

时间:2023-03-05 09:22:39浏览次数:31  
标签:部类 Outer 内部 Inner1 System java public

内部类定义:在java中允许一个类定义在另一个类内中,前者叫内部类,后者叫外部类

根据内部类定义的位置分为:

  成员内部类:类定义在方法外;类定义在方法外并且是静态类 嵌套类

  类定义在方法内: 普通用法 , 普通局部内部类

          匿名内部类 (超重点)

在其他类中直接创建内部类对象:

  外部类类名.new 内部类名称()

class Outer {
    
    private int id = 10;
    private String name = "Outer.name";
    
    // 普通内部类, 隶属于外部类的对象的, 它的创建和使用也受外部类对象的限制.
    public class Inner1 {
        private int id = 100;
        public void inner1Test() {
            //System.out.println(id); // 和下面一样
            System.out.println(Inner1.this.id); // 内部类的this对象的属性
            System.out.println(Outer.this.id); // 外部类的this对象的属性
            System.out.println(name);
            outerTest2(); // 在内部类中可以随意使用外部类的成员.
        }
    }
    
    public void outerTest1() {
        Inner1 inner1 = this.new Inner1();
        inner1.inner1Test();
    }
    
    public void outerTest2() {
        System.out.println("outerTest2()...");
    }
    
    // 嵌套类
    public static class Inner2 {
    }
}

public class InnerClassTest {
    
    public static void main(String[] args) {
        Outer outer = new Outer();
        //outer.outerTest1();
        // 直接创建内部类对象, 需要使用外部类对象.new 
        Outer.Inner1 oi1 = outer.new Inner1();
        oi1.inner1Test();
    }
}

 

标签:部类,Outer,内部,Inner1,System,java,public
From: https://www.cnblogs.com/wade3/p/17173996.html

相关文章

  • JAVA高级属性-关键字static
    关键字static(静态)static静态属性是指任何对象都共有的一个属性值,比如,中国人中国家的属性都是中国,这个属性不会随着对象的创建而改变,然而像是收入这种的数据会随着不同......
  • Java接口
    接口定义:抽象描述现实世界中不同事物的共同行为特征--公共的抽象方法接口不是类,接口是一种全新的概念,因此接口和类的区别是什么呢?回答:接口只有行为没有属性,但是接口也有......
  • Java Object类
    Object类含义:Object是所有类的根,及其他的父类或者间接父类都是Object优点:Object的创建是为统一管理所有类缺点:Object类当成参数的类型灵活度太高,相当于没有控制参数的......
  • Java实战(第二版)读后总结与感想
    1. 基本信息Java实战(第二版)ModernJavainAction,2ndEdition[英]拉乌尔–加布里埃尔·乌尔玛(Raoul-GabrielUrma),[意]马里奥·富斯科(MarioFusco),[英]艾伦·米克......
  • java基础语法-包机制
    包机制定义包(为了更好的组织类,java提供了包机制,用于区别类名的命名空间。)包语法的语法格式packagepkg1[.pkg2[.pkg3···]];一半利用公司域名倒置作为包名......
  • 人人都学会APP开发 提高就业竞争力 简单实用APP应用 安卓浏览器APP 企业内部通用APP制
    安卓从2009年开始流程于手机、平板,已经是不争的非常强大生产力工具,更为社会创造非常高的价值,现在已经是202X年,已经十几年的发展,安卓平台已经无所不在。因此......
  • JavaScript判断变量类型的四种方法
    typeof(根据二进制判断):常用于判断基础数据类型,对于引用数据类型除了function返回‘function’,其余都返回‘object’(typeofnull===object)instanceof:主要用于区分引......
  • Java学习笔记(四)java数组
    学习笔记4Java数组一、什么是数组数组是相同类型数据的有序集合数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成其中,每一个数据称作一个数组元素,每......
  • Java基础——接口和抽象类异同及其特点
     抽象类链接:https://www.runoob.com/java/java-abstraction.html接口链接:https://www.runoob.com/java/java-interfaces.html......
  • Java_内部类
    Java内部类成员内部类内部类在外部使用时,无法直接实例化,需要借由外部类信息才能完成实例化内部类的访问修饰符,可以任意,但是访问权限会收影响。内部类可以直接访问......