个人关于抽象类限制的学习心得,希望大家会喜欢

package cm.abstracts.limit;

//这个类用来测试static定义的内部的抽象类,其作用是一个外部抽象类
public class ModelFfourtyOne {
	public static void main(String[] args) {
		//使用抽象类必须通过创建抽象类对象,创建抽象类对象必须通过子类对象的向上转型
		Surface.Inward si = new Outside();
		si.ful();
	}
}

//创建抽象类:外部抽象类,外部父类
abstract class Surface{
	//创建抽象类:内部抽象类,内部父类,用static修饰内部抽象类被继承时,外部类名.内部类名
	static abstract class Inward{
		public abstract void ful();
	}
}

//抽象类必须有子类,一个子类只能继承一个抽象类,单继承
//class Outside extends Surface{
//	//声明内部抽象类的子类,此类可有可无
//	class Inside extends Inward{
//		
//	}
//}

//创建抽象类必有的子类,使用static修饰内部抽象类被继承时,类名:外部抽象类名.内部抽象类类名
//从语法结构上看,内部的抽象类就像一个外部抽象类
class Outside extends Surface.Inward{

	@Override
	public void ful() {
		System.out.print("ful == full 正式的、完全的、全部的");
	}
//	public void ful() {
//		
//	}
}

彦舜原创

你可能感兴趣的:(java)