码迷,mamicode.com
首页 > 其他好文 > 详细

内部类

时间:2020-03-26 19:15:13      阅读:69      评论:0      收藏:0      [点我收藏+]

标签:final   oid   col   静态   tin   特点   使用   new   nbsp   

如何创建内部类的对象

package com.aff.inter;

import com.aff.inter.Person.Dog;

/*
 类的第五个成员:内部类
    1.类的内部定义的类
    2.内部类的分类:成员内部类(声明在类内部且方法外的 )vs 局部内部类(声明在类的方法里)
    3.成员内部类:
                       1.是外部类的一个成员: 可以有修饰符(四个)       ②static   final
                       2.具体类的特点:abstract      ②还可以在其内部定义属性,方法 ,构造器

    4.局部内部类
    5.关于内部类掌握三点:
                                       ① 创建成员内部类的对象
                                       ②如何区分外部类,内部类的变量
                                       ③局部内部类的使用
*/
public class TestInnerClass {
    public static void main(String[] args) {
        // 创建静态内部类的对象,可以直接通过外部类调用静态内部类的构造器
        Person.Dog d = new Person.Dog();

        // Person.Bird b = new Person.Bird(); 创建不了,因为是非静态的
        // 创建非静态内部类的对象,必须先创建外部类的对象,通过外部类的对象调用内部类的构造器
        Person p = new Person();
        Person.Bird b = p.new Bird();
        b.info();
    }

}

class Person {
    String name;
    int age;

    // 成员内部类(非static的)
    class Bird {
        String name;
        int id;

        public Bird() {
        }

        public void setName(String name) {
            this.name = name;
        }

        public void info() {
            show();
        }
    }

    // 成员内部类(static 静态的)
    static class Dog {
    }

    public void show() {
        System.out.println("show  shwo");
    }
}

 

内部类

标签:final   oid   col   静态   tin   特点   使用   new   nbsp   

原文地址:https://www.cnblogs.com/afangfang/p/12576426.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!