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

簡(jiǎn)單學(xué)習(xí)Java抽象類要點(diǎn)及實(shí)例

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

使用抽象類應(yīng)該注意的幾個(gè)要點(diǎn):

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

復(fù)制代碼 代碼如下:

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;
}

在代碼塊:

復(fù)制代碼 代碼如下:

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

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

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

相關(guān)文章

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

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

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

    springboot?整合表達(dá)式計(jì)算引擎?Aviator?使用示例詳解

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

    Java學(xué)習(xí)之局部變量、成員變量舉例詳解

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

    java編寫ftp下載工具

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

    JAVA TIMER簡(jiǎn)單用法學(xué)習(xí)

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

    深入理解java long 存儲(chǔ)時(shí)間戳

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

    詳解Spring Boot 使用Spring security 集成CAS

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

    基于Java實(shí)現(xiàn)緩存Cache的深入分析

    本篇文章是對(duì)Java實(shí)現(xiàn)緩存Cache進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-06-06
  • RabbitMQ中的延遲隊(duì)列機(jī)制詳解

    RabbitMQ中的延遲隊(duì)列機(jī)制詳解

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

    在IDEA中實(shí)現(xiàn)生成Maven依賴關(guān)系圖

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

最新評(píng)論

茶陵县| 泽库县| 穆棱市| 兰西县| 沙湾县| 长春市| 崇义县| 邵阳县| 巴塘县| 乃东县| 弥渡县| 墨江| 综艺| 措美县| 千阳县| 铁岭县| 甘谷县| 手游| 灵川县| 平泉县| 大姚县| 淮阳县| 会东县| 永城市| 丰顺县| 含山县| 静海县| 金平| 衡山县| 延边| 蓬溪县| 太湖县| 兰考县| 龙山县| 彭水| 遵义市| 新源县| 大英县| 富平县| 满洲里市| 西充县|