文章目录
覆写
不能实例化的类叫抽象类。

package cn.xu;
public class Main {
public static void main(String[] args) {
Person p = new Student();
p.foobar();
}
}
class Person{
public void foobar(){
}
}
class Student extends Person{
@Override
public void foobar(){
System.out.println("this is a student class");
}
}
如果我们想让所有继承自Person的类都要覆写这个方法。我们使用abstract.
抽象类无法被实例化。

抽象类可以包括抽象方法,但不是所有方法都必须是抽象的。
package cn.xu;
public class Main {
public static void main(String[] args) {
Person[] persons = new Person[]{
new Teacher(),
new Teacher(),
new Student()
};
for(Person p :persons){
p.foobar();
}
}
}
abstract class Person{
public abstract void foobar();
public void twice(){
this.foobar();
this.foobar();
}
}
class Student extends Person{
@Override
public void foobar() {
System.out.println("this is a student class");
}
}
class Teacher extends Person{
@Override
public void foobar() {
System.out.println("this is a teacher class");
}
}
java可执行文件?
只能生成字节码,无法做成exe文件。但是可以变成一个jar包。

生成jar包步骤:


选主函数

做好了配置接下来build


运行?
PS G:\各种代码\Javacode\t09abstract\out\artifacts\t09abstract_jar> java -jar .\t09abstract.jar
this is a teacher class
this is a teacher class
this is a student class
PS G:\各种代码\Javacode\t09abstract\out\artifacts\t09abstract_jar>










