09抽象类与构建可执行jar包

覆写

不能实例化的类叫抽象类。

在这里插入图片描述

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>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值