抽象类
定义:抽取共性时,无法确定方法体,就把方法定义为抽象
定义格式:
(抽象类):
public abstract class 类名{ }
(抽象方法):
public abstract 返回值类型 方法名(参数列表)
抽象类和抽象方法的注意事项:
1.抽象类不能实例化
2.抽象类中不一定有抽象方法
3.有抽象方法的类一定是抽象方法
4.可以有构造方法
5.抽象类的子类:要么重写抽象类中的所有抽象方法
, 要么是抽象类(不常用)
例如:
public abstract class Person {
private String name;
private int age;
//当创建子类对象时,给属性赋值
public Person(){
}
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public abstract void work();
public void sleep(){
System.out.println("睡觉");
}
}
package com.jsu.test5;
public class Student extends Person{
public Student() {
}
public Student(String name, int age) {
super(name, age);
}
@Override
public void work() {
System.out.println("学生的工作是学习");
}
}
package com.jsu.test5;
public class Test {
public static void main(String[] args) {
//Person person = new Person();
Student s = new Student("zhangsan", 23);
System.out.println(s.getName()+","+s.getAge());
}
}