您的当前位置:首页正文

JAVA中内部类的方法调用

2024-11-06 来源:个人技术集锦
public class Animal {
	
	public void shout() {
		System.out.println("我是一个动物");
	}

}

首先创建了一个类Animal,该类有个方法。接下来创建一个子类Cat继承这个Animal类。

public class Cat extends Animal {
	
	public void test() {
		
	}
	
	class small{
		
		{
		test();
		shout();
		 
		 
		}
		
	}

}

Cat类继承了Animal类的方法,所以在Cat类中创建的内部类small类中,既可以直接调用父类继承来的shout方法,也可以调用本类中的test()方法。也就是说内部类是可以直接调用外部类中的方法的。

public class Cat extends Animal {
	
	public void test() {
		
	}
	
	class small{
		
		{
		test();
		shout();
		System.out.println(this);
		 
		 
		}
		
	}
	
	public static void main(String[] args) {
		Cat a = new Cat();
		Cat.small s = a.new small();
		
	}

}

在内部类small中输出了this,可以得到如下结果。

zijin.labsafety.lab.Cat$small@33909752

可以看到内部类中的this表示的是内部类本身。

所以在内部类中,不能通过this调用外部类的方法。因为this表示的是内部类small,而small类是没有定义方法test和方法shout的。这两个方都是属于外部类 Cat的。 

Top