当前位置: 移动技术网 > IT编程>开发语言>Java > java学习记录分享(七)

java学习记录分享(七)

2020年07月22日  | 移动技术网IT编程  | 我要评论

抽象类

	当一个方法没有方法主体并被abstract修饰,则称这个方法为抽象方法
	当一个类中有抽象方法,那么这个类也是抽象类,,抽象类可以没有抽象方法
	抽象类不能实例化。
	如:
	public abstract class Animal{		//抽象类Animal
		public abstract void sleep();	//抽象方法sleep,让子类实现。
	}
	当子类继承抽象父类时,必须实现父类的所有抽象方法,否则子类也是抽象的。
	举个例子
		public abstract class Animal{
			public abstract void sleep();
		}
		class Tiger extends Animal{
			public void sleep(){
			System.out.println("趴着睡觉");}
		}
		class Bat extends Animal{
			public void sleep(){
			System.out.println("挂着睡觉");}
		}
		public static void main(String[] args){
			//Animal animal=new Animal();	编译错误,不能实例化抽象类
			Animal animal=new Tiger();		
			animal.sleep;			//打印趴着睡觉
			Animal animal1=new Bat();
			animal1.sleep			//打印挂着睡觉
		}

接口

	接口是一种标准,是一种规范。
	接口是最高的抽象,当中的所有方法都是抽象方法,默认是public abstract可省略。
	接口中出现的变量量都是是常量,默认为public static final,可以省略。
	java语言是单根继承,但允许多实现。
	接口可以继承接口。使用extends关键字。
public Interface Usb{
			void transData(String data);
			//public abstract void transData(String data);
			void charge();
			String STR="banda";
		}
	实现一个接口要实现接口中所有的方法,否则这个类仍然是抽象类
public class Xiaomi implements Usb{
			public void transData(String data){
				......
			}
			public void charge{
				......
			}
		}

多态

	父类的一种类型在不同子类中有不同的表现形态(即重写)之前的父类类型指向子类对象就是多
态的体现。还有一种观点是在一个类内部,一个行为有不同的表现,也是多态的体现(即重载)目前
没有定论。
	举个例子
		public abstract class Fruit{}
		
		class Apple extends Fruit{
			public String toString(){
				return "苹果"}
		}
		class Orange extends Fruit{
			public String toString(){
				return "橘子"}
		}
		class Juicer{
			public void juicer(fruit){
				System.out.println("榨"+fruit+"汁")}
			public static void main(String[] args){
				Juicer juicer=new Juicer();
				Fruit fruit=new Apple();
				juicer.juicer(fruit);			//打印榨苹果汁
				//Fruit fruit=new Orange();
				//Juicer.juicer(fruit);			//打印榨橘子汁
			}
		}

向上,向下转型

	向上转型是自动的
	Tiger t1=new Tiger();
	Animal a1=t1;
	向下转型需要强制类型转换
	Animal a2=new Tiger();
	Tiger t2=(Tiger)a2;

本文地址:https://blog.csdn.net/LeCoe/article/details/107483839

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网