文章目录
覆写
不能实例化的类叫抽象类。
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>