内部类练习题(外部类访问内部类成员内部类访问外部类成员顶级类访问内部类成员)

Posted summerdata

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了内部类练习题(外部类访问内部类成员内部类访问外部类成员顶级类访问内部类成员)相关的知识,希望对你有一定的参考价值。

package com.Summer_0429.cn;

/**
 * @author Summer
 * 内部类实例:
 * 定义一只猫类,猫有:
 * 1、重量
 * 2、猫的身体:
 *     1)颜色
 *     2)显示猫的身体的信息();
 * 3、显示猫的整体信息();
 * 要求:创建一只小猫,显示它的整体信息。
 *
 */
class Cat{
    private double weight;
    public Cat(double weight){
        this.weight = weight;
    }
    //内部类:成员内部类
    class CatBody{
        private String color;
        public CatBody(String color) {
            this.color = color;
        }
        public void show(){
            //内部类中可以直接访问外部类的成员
            //每一个内部类对象中都会隐藏一个外部类对象,外部类.this
            //System.out.println("颜色:"+color+Cat.this.weight);
            System.out.println("颜色:"+color+weight);
        }
        
    }
    public void display(){//外部类
        //外部类,访问内部类的成员
        CatBody body = new CatBody("白色");
        body.show();
        System.out.println("体重:"+weight);
    }
    
}

public class TestInner {

    public static void main(String[] args) {
        Cat cat = new Cat(10);
        cat.display();
        //在一个顶级类中调用内部类方法的语法结构,需要一个外部类的实例对象来创建
        Cat.CatBody body = cat.new CatBody("黑色");
        body.show();
    }

}

 

以上是关于内部类练习题(外部类访问内部类成员内部类访问外部类成员顶级类访问内部类成员)的主要内容,如果未能解决你的问题,请参考以下文章

这个匿名内部类为何不使用final也可以访问外部成员?

成员内部类

外部类与内部类的访问

内部类的使用类型

java内部类可以访问外部类的静态方法吗

java 内部类