最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

簡單學習Java抽象類要點及實例

 更新時間:2014年01月17日 16:43:17   作者:  
這篇文章主要介紹了Java抽象類要點及實例,有需要的朋友可以參考一下

使用抽象類應該注意的幾個要點:

包含一個或者多個抽象方法的類必須被聲明為抽象類.
將類聲明為抽象類,不一定含有抽象方法.
通常認為,在抽象類中不應該包括具體方法,建議盡量將通用的域和方法放在超類中.
抽象類不可以被實例化.即不能創(chuàng)建這個類的對象
實例代碼:

復制代碼 代碼如下:

import java.util.*;

/**
 * This program demonstrates abstract classes.
 * @version 1.01 2004-02-21
 * @author Cay Horstmann
 */
public class PersonTest
{
   public static void main(String[] args)
   {
      Person[] people = new Person[2];

      // fill the people array with Student and Employee objects
      people[0] = new Employee("Harry Hacker", 50000, 1989, 10, 1);
      people[1] = new Student("Maria Morris", "computer science");

      // print out names and descriptions of all Person objects
      for (Person p : people)
         System.out.println(p.getName() + ", " + p.getDescription());
   }
}

abstract class Person
{
   public Person(String n)
   {
      name = n;
   }

   public abstract String getDescription();

   public String getName()
   {
      return name;
   }

   private String name;
}

class Employee extends Person
{
   public Employee(String n, double s, int year, int month, int day)
   {
      super(n);
      salary = s;
      GregorianCalendar calendar = new GregorianCalendar(year, month - 1, day);
      hireDay = calendar.getTime();
   }

   public double getSalary()
   {
      return salary;
   }

   public Date getHireDay()
   {
      return hireDay;
   }

   public String getDescription()
   {
      return String.format("an employee with a salary of $%.2f", salary);
   }

   public void raiseSalary(double byPercent)
   {
      double raise = salary * byPercent / 100;
      salary += raise;
   }

   private double salary;
   private Date hireDay;
}

class Student extends Person
{
   /**
    * @param n the student's name
    * @param m the student's major
    */
   public Student(String n, String m)
   {
      // pass n to superclass constructor
      super(n);
      major = m;
   }

   public String getDescription()
   {
      return "a student majoring in " + major;
   }

   private String major;
}

在代碼塊:

復制代碼 代碼如下:

 for (Person p : people)
         System.out.println(p.getName() + ", " + p.getDescription());

中p.getDescription(),將引用具體子類的子類對象的方法.

不可以省略Person類中的getDescription(),原因是編譯器只允許調用在類中聲明的方法.

相關文章

  • java.io.NotSerializableException異常的問題及解決

    java.io.NotSerializableException異常的問題及解決

    這篇文章主要介紹了java.io.NotSerializableException異常的問題及解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • springboot?整合表達式計算引擎?Aviator?使用示例詳解

    springboot?整合表達式計算引擎?Aviator?使用示例詳解

    本文詳細介紹了Google?Aviator?這款高性能、輕量級的?Java?表達式求值引擎,并通過詳細的代碼操作演示了相關API的使用以及如何在springboot項目中進行集成,感興趣的朋友一起看看吧
    2024-08-08
  • Java學習之局部變量、成員變量舉例詳解

    Java學習之局部變量、成員變量舉例詳解

    這篇文章主要介紹了Java中的成員變量和局部變量,包括它們的定義、特點、初始化、作用域和生命周期等,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2025-02-02
  • java編寫ftp下載工具

    java編寫ftp下載工具

    本文給大家介紹的是如何一步步實現使用java編寫FTP下載工具,而且是在Linux環(huán)境下使用javac編譯的,在運行和編譯上有些不同之處,有需要的小伙伴們參考下吧。
    2015-03-03
  • JAVA TIMER簡單用法學習

    JAVA TIMER簡單用法學習

    Timer類是用來執(zhí)行任務的類,它接受一個TimerTask做參數
    2013-07-07
  • 深入理解java long 存儲時間戳

    深入理解java long 存儲時間戳

    存儲時間打算用時間戳來存儲,打算用long類型來代表時間戳,這篇文章主要介紹了深入理解java long 存儲時間戳,非常具有實用價值,需要的朋友可以參考下
    2018-10-10
  • 詳解Spring Boot 使用Spring security 集成CAS

    詳解Spring Boot 使用Spring security 集成CAS

    本篇文章主要介紹了詳解Spring Boot 使用Spring security 集成CAS,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • 基于Java實現緩存Cache的深入分析

    基于Java實現緩存Cache的深入分析

    本篇文章是對Java實現緩存Cache進行了詳細的分析介紹,需要的朋友參考下
    2013-06-06
  • RabbitMQ中的延遲隊列機制詳解

    RabbitMQ中的延遲隊列機制詳解

    這篇文章主要介紹了RabbitMQ中的延遲隊列機制詳解,延時隊列內部是有序的,最重要的特性就體現在它的延時屬性上,延時隊列中的元素是希望,在指定時間到了以后或之前取出和處理,簡單來說,延時隊列就是用來存放需要在指定時間被處理的元素的隊列,需要的朋友可以參考下
    2023-09-09
  • 在IDEA中實現生成Maven依賴關系圖

    在IDEA中實現生成Maven依賴關系圖

    這篇文章主要介紹了在IDEA中實現生成Maven依賴關系圖方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-07-07

最新評論

丹凤县| 筠连县| 贵州省| 涞水县| 辽宁省| 怀仁县| 牙克石市| 宣恩县| 汝州市| 长宁区| 福贡县| 安新县| 华安县| 安阳县| 弥勒县| 离岛区| 都安| 吉林省| 阿城市| 乐陵市| 华坪县| 崇阳县| 漯河市| 淮北市| 康保县| 区。| 南投县| 泸水县| 阳新县| 容城县| 临汾市| 浦北县| 临清市| 衡水市| 上林县| 和林格尔县| 永寿县| 辉县市| 江口县| 阿拉尔市| 新宁县|