Java-抽象类

Java-抽象类

抽象类(Abstract Class)

什么是抽象的?比如:美好的事物,好吃的东西,生命体等

什么是具体的?比如:女朋友,巧克力,小猴子等

创建抽象类

添加关键词abstract来修饰class即可:

 

public abstract class Thing
{
}

 

添加抽象方法

 

在抽象类中的方法可以没有定义,称为抽象方法

 

public abstract class Thing {
	//抽象方法,不用写具体的方法实现
	public abstract void show();
}

抽象类不可以被实例化

 

 

Thing th = new Thing;    //错误,不可被实例化

抽象类仅用于描述一类事物:应该有什么?应该能做什么?它不是具体的类,不能创建对象。

 

 

Java-抽象类_第1张图片

抽象类的使用

抽象类不能实例化,所以我们都是要派生出一个子类,然后实现所有的抽象方法。

示例:

Thing类(父类):

public abstract class Thing {
	//不用写具体的方法实现
	
	public abstract void showWhen();		//事情的时间
	public abstract void showWhere();		//地点
	public abstract void showWho();		//人物
	public abstract void showWhat();		//内容
}

Sleep类(子类):

public class Sleep extends Thing{
	@Override
	public void showWhen() {
		System.out.print("晚上七点");
	}
	public void showWhere() {
		System.out.print("家里");
	}
	public void showWho() {
		System.out.print("小明");
	}
	public void showWhat() {
		System.out.print("睡觉");
	}
}

常见的用法:

Thing th = new Sleep();

定义一个父类的引用,指向的对象是子类类型。

常用的抽象类

  • java.io.InputStream
  • java.io.OutputStream

 

你可能感兴趣的:(Java学习日志)