学习Java的第三天

今天是第三天,到Java的抽象类

抽象类用abstract class去定义抽象类

如这样

public class AbstractDemo {

   public static void main(String [] args) {

      Employee e = new Employee("George W.""Houston, TX"43);

      System.out.println("\n Call mailCheck using Employee reference--");

      e.mailCheck();

    }

}

但是这样会产生编译错误,抽象类不能被实例化

public class Salary extends Employee {

   private double salary; //Annual salary

   public Salary(String name, String address, int number, double salary) {

       super(name, address, number);

       setSalary(salary);

   }

   public void mailCheck() {

       System.out.println("Within mailCheck of Salary class ");

       System.out.println("Mailing check to " + getName()

       " with salary " + salary);

   }

   public double getSalary() {

       return salary;

   }

   public void setSalary(double newSalary) {

       if(newSalary >= 0.0) {

          salary = newSalary;

       }

   }

   public double computePay() {

      System.out.println("Computing salary pay for " + getName());

      return salary/52;

   }

public class AbstractDemo {

   public static void main(String [] args) {

      Salary s = new Salary("Mohd Mohtashim""Ambehta, UP"33600.00);

      Employee e = new Salary("John Adams""Boston, MA"22400.00);

      System.out.println("Call mailCheck using Salary reference --");

      s.mailCheck();

      System.out.println("\n Call mailCheck using Employee reference--");

      e.mailCheck();

    }

}但这样实例化一个salary对象从employee继承成员方法是可以跑的

接下来是抽象类

声明抽象方法会造成以下两个结果:

  • 如果一个类包含抽象方法,那么该类必须是抽象类。
  • 任何子类必须重写父类的抽象方法,或者声明自身为抽象类。

说着是挺抽象,大概理解就是没法实例化但可以通过继承去实现。

接下来是接口interface用implements关键字去引用接口如

interface Animal {

   public void eat();

   public void travel();

}

public class MammalInt implements Animal{

   public void eat(){

      System.out.println("Mammal eats");

   }

   public void travel(){

      System.out.println("Mammal travels");

   }

   public int noOfLegs(){

      return 0;

   }

   public static void main(String args[]){

      MammalInt m = new MammalInt();

      m.eat();

      m.travel();

   }

}

接口之间可以继承 用extends关键字。子承父类。

先到这,脑子好痒感觉要长出来了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值