内部类练习题(外部类访问内部类成员、内部类访问外部类成员、顶级类访问内部类成员)
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(); } }