package test;
/*abstract class 类名{
* 属性
* 方法
* }
*1、 抽象类中可以没有抽象方法,但是有抽象方法的类一定是抽象类
* 2、抽象类不能实例化(不能创建对象),只能被继承,然后实例化子类
* 3、继承了抽象类的非抽象类必须实现抽象类的所有抽象方法
* 4、抽象类也可以继承抽象类,这样不需要实现父抽象类的方法
* 5、抽象类的抽象方法不能和private,final,static共存 抽象方法为对象方法,static针对类方法
*/
abstract class Person{
public abstract void smoke();
}
abstract class Student extends Person{
public abstract void learn();//抽象类也可以继承抽象类,这样不需要实现父抽象类的方法
}
class Chlid extends Student{
//非抽象类,必须有父类中的smoke方法和learn方法
public void smoke() {
}
public void learn() {
}
}
public class Demo1{
public static void main(String[] args) {
}
}
///知识点1、2//
/*abstract class Person{
String name;
int age;
public void sleep() {
System.out.println(name+"在睡觉");
}
//抽象类的抽象方法
public abstract void smoke();
}
class Student extends Person{
public void smoke() {
System.out.println(name+"在教室抽烟");
}
}
class Worker extends Person{
public void smoke() {
System.out.println(name+"工作抽烟");
}
}
public class Demo1{
public static void main(String[] args) {
Student s = new Student();
s.name = "张三";
s.smoke();
Worker w = new Worker();
w.name = "李四";
w.smoke();
//Person p = new Person(); 报错,抽象类无法创建对象
}
}
*/