/*
* 当多个类中出现相同功能时,但是功能的主体不同。
* 这是可以进行 主体。
* 抽象:看不懂。
* 抽象的特点:
* 1.抽象方法一定在抽象类中。
* 2.抽象方法和抽象类都必须被abstract关键字修饰。
* 3.抽象类不可以用new创建对象,因为调用抽象方法没意义。
* 4.抽象类中的方法要被使用,必须由子类复写起所有的抽象方法后,建立子类对象调用。
* 5.如果子类值覆盖了部分抽象方法,那么该子类还是一个抽象类。
* 抽象类比一般类多了个抽象方法,就是在类中定义抽象方法。
* 不可以实例化。
* 特殊:抽象类中,可以不定义抽象方法。这样做仅仅不让该类建立对象。
*/
abstract class Student1 {
abstract void study();
abstract void study1();
void study2(){System.out.println("好好学习");}
}
//BaseStudent只实现了父类中部分方法,所以他必须是个抽象类。
abstract class BaseStudent extends Student1{
void study()
{
System.out.println("base study");
}
}
//AdvStudent实现了父类中所有方法,所以她可以不是抽象类。
class AdvStudent extends Student1{
void study()
{
System.out.println("adv study");
}
void study1(){}
}
public class AbstractDemo {
public static void main(String args[])
{
//new Student1();抽象类不能实例化。
AdvStudent a= new AdvStudent();
a.study();
a.study1();
a.study2();
}
}
* 当多个类中出现相同功能时,但是功能的主体不同。
* 这是可以进行 主体。
* 抽象:看不懂。
* 抽象的特点:
* 1.抽象方法一定在抽象类中。
* 2.抽象方法和抽象类都必须被abstract关键字修饰。
* 3.抽象类不可以用new创建对象,因为调用抽象方法没意义。
* 4.抽象类中的方法要被使用,必须由子类复写起所有的抽象方法后,建立子类对象调用。
* 5.如果子类值覆盖了部分抽象方法,那么该子类还是一个抽象类。
* 抽象类比一般类多了个抽象方法,就是在类中定义抽象方法。
* 不可以实例化。
* 特殊:抽象类中,可以不定义抽象方法。这样做仅仅不让该类建立对象。
*/
abstract class Student1 {
abstract void study();
abstract void study1();
void study2(){System.out.println("好好学习");}
}
//BaseStudent只实现了父类中部分方法,所以他必须是个抽象类。
abstract class BaseStudent extends Student1{
void study()
{
System.out.println("base study");
}
}
//AdvStudent实现了父类中所有方法,所以她可以不是抽象类。
class AdvStudent extends Student1{
void study()
{
System.out.println("adv study");
}
void study1(){}
}
public class AbstractDemo {
public static void main(String args[])
{
//new Student1();抽象类不能实例化。
AdvStudent a= new AdvStudent();
a.study();
a.study1();
a.study2();
}
}