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();
}
}