java基础 · 实例(接口抽象类多态的结合)

	package v1;
	interface Animal{
		void shout();       //接口中只声明方法
		void breatch();
		void name();
	}
	abstract class abstractclaaa implements  Animal{
		 private  String name;     //抽象类是一个类可以有数据
		 public  abstractclaaa(){   //可以有构造方法
			 name="动物";            //完成对象初始化
		 }
		 public void name() {           //可以有实现的方法,抽象类中只实现了这一个方法
			 System.out.println("我是:"+name);
		 }
		 public abstract void  shout(); //将抽象类作为基类,剩余的方法交给派生类实现
		 public abstract void  breatch();  //可以声明方法
	}
	class  Cat  extends abstractclaaa{    //派生类具体实现
		public Cat(){
			super();   //创建对象,调构造,super位于第一句,调用基类构造,完成对基类数据的初始化
		}
		@Override      //对基类的方法进行重写,重写:返回值类型,参数,方法名必须一致,访问权限大于等于基类的方法
		public void shout() {
			System.out.println("喵喵喵···");
		}
	
		@Override
		public void breatch() {
			// TODO Auto-generated method stub
			System.out.println("哈哈哈···");
		}
	}
	public class testclass {  //测试类
		public static void main(String[] args) {  
			Animal a=new  Cat();   //创建对象,创建接口引用去引用派生类对象。也称为向上转型
			a.shout();			//对象调用方法,实现输出
			a.breatch();
			a.name();
		}
	}

猜你喜欢

转载自blog.csdn.net/qq_41698794/article/details/83957491
今日推荐