7.1 内部类

7.1 内部类

类两种重要成员:成员变量、方法

还允许有一种成员:内部类


内部类:Java支持在一个类中定义另一个类,这样的类称作内部类

外嵌类:包含内部类的类称为内部类的外嵌类


内部类和外嵌类之间重要的关系:

(1)外嵌类的成员变量在内部类中仍然有效,内部类的中方法也可以调用外嵌类的方法

(2)内部类类体中不可以声明类变量和类方法,外嵌类的类体中可以用内部类声明对象,作为外嵌类成员

(3)内部类仅供他的外嵌类使用,其他类不可以使用某个类的内部类声明对象

(4)内部类可以被修饰称为static内部类

(5)程序可以在其他类中使用static内部类来创建对象,static内部类不可以操作外嵌类中的实例成员变量

(6)非内部类不可以是static类

//例子:
public class Example7_1_RedCowForm {
	static String fromName;
	RedCow redCow;

	Example7_1_RedCowForm() {
	}

	public Example7_1_RedCowForm(String string) {
		// TODO Auto-generated constructor stub
		redCow = new RedCow(10, 20, 30);
		fromName = string;
	}

	public void showCowMess() {
		redCow.speak();
	}

	class RedCow {
		String cowName = "红牛";
		int height;
		int weight;
		int price;

		public RedCow(int h, int w, int p) {
			// TODO Auto-generated constructor stub
			height = h;
			weight = w;
			price = p;
		}

		void speak() {
			System.out.println("我是:" + cowName + ",身高:" + height + ",体重:" + weight + ",价钱:" + price);
		}
	}

}


public class Example7_1 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Example7_1_RedCowForm redCowForm = new Example7_1_RedCowForm("红牛农场");
		redCowForm.showCowMess();
		redCowForm.redCow.speak();
	}

}

/*
输出结果:
我是:红牛,身高:10,体重:20,价钱:30
我是:红牛,身高:10,体重:20,价钱:30
*/




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值