Java答疑第二篇:类里面可以嵌套类吗?

最近在写类的时候,产生了一个这样的想法:通常我们写类的话都是单独写在一个类中,但类里面嵌套类可以执行程序吗?带着这样的疑问,打开了eclipse,我们一起来看看:
代码展示:

package study;

/**
 * 
 * @author 重工黑大帅
 * @date 2020.2.4
 * 实现功能:理解特殊类(内部类)的概念
 */
public class Study{
	public static void main(String args[]) {
		A a = new A();
		a.b.fun();
	}
}
class A{
	int x=5,y=4;
	B b = new B();//内部类声明的对象,作为外部类的成员
	A(){
	}
	void add(int a,int b) {
		System.out.println("a+b="+(a+b));
	}
	class B extends C{ //继承类C,同时为内部类的声明
		float h=23.0f;//内部类中可申明变量
		void fun() {
		System.out.println("h="+h);
			System.out.println("x-y="+(x-y)+"  "+CQ);
			add(444,222); //调用外部类的add方法
		}
	}
}
class C{
	String  CQ="山水之城";
}

结果显示:
在这里插入图片描述
过程分析:上述代码中共定义了3个类:A,B,C。类B继承类C,嵌套在类A中,即此时把类B 称为内部类,类A称为外部类;在内部类中可以定义变量和方法(如变量h,方法fun()),内部类中也可调用外部类的方法(如add()方法),外部类中定义的变量和方法在内部类当中仍然可以使用(如变量x,变量y)。有些资料上说内部类当中不能声明静态变量和方法,否则就会报错,我做了尝试,确实不能声明,但可以实现,只需把类等相关的名称添加static修饰符,运行结果和之前的结果一样,这里读者需要注意一下。

有问题欢迎留言!

点个赞,加个关注呗!嘿嘿!

发布了41 篇原创文章 · 获赞 184 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/H_W_1212/article/details/104168094
今日推荐