abstract的使用
在java中abstract关键字用于修饰类和方法abstract class person{//修饰类,该类为抽象类
String name;
int age;
public abstract void eat() ;//修饰方法,该方法为抽象方法
public abstract void sleep();
public void run() {
System.out.println("跑步");
}
}
被abstract修饰的特点
1、抽象类
1)抽象类与普通类的不通电在于无法进行实例化,其余与普通类无异。
2)由于抽象类不能实例化对象,所以抽象类必须被继承,才能被使用。但是如果抽象类中有抽象方法,子类中要对抽象父类中的所有抽象方法进行重写并赋予方法体,子类才能成为可以实例化的普通类;不然子类也只能被abstract修饰成为抽象子类,无法实例化。
2、抽象方法
1)抽象方法没有方法体,
2)拥有抽象方法的类一定是抽象类,但抽象类不一定拥有抽象方法
3)在子类继承抽象父类时,抽象方法必须全部被赋予方法体重写才能实例化对象。
abstract关键字的应用场景总结
抽象方法只是声明了一个方法,但不提供具体怎么实现,具体实现由继承的子类负责;而拥有一个或者多个抽象方法的类就是抽象类。//设计抽象类标准
abstract class person{
String name;
int age;
int number;
public abstract void sum();//这里规定要用加法
public abstract void count();//这里规定要数数
}
//根据抽象方法的标准填充内容
class stu extends person{
public void sum() {//重写的方法体要填充上加法的具体方法
number = 1;
int quantity;
quantity = number+number;
System.out.println(quantity);
}
public void count() {//重写的方法体要填充上数数的具体方法
int quantity;
quantity = age+age;
System.out.println(quantity);
}
}
abstract关键字的使用注意点
1、abstract不能修饰私有方法、静态方法、final的方法;
2、abstract不能修饰属性、构造器,除了方法和类,都不能修饰;