java基類,java基類和派生類

本文目錄一覽:

JAVA中什麼叫派生類

利用繼承機制,新的類可以從已有的類中派生。那些用於派生的類稱為這些特別派生出的類的「基類」。

基類說明:在Java中要定義的新的數據類型不僅擁有新定義的成員,而且還同時擁有舊的成員,我們稱已存在的用來派生新類的類為Java基類,又稱為父類。

基類表:基類表中存放各個基類名稱。

基類說明符:基類類體中類成員的訪問說明符。

擴展資料:

Java的三大特性:封裝,繼承,多態

封裝:封裝的主要作用是實現軟體部位的「高內聚,低耦合」,防止程序相互依賴而帶來的影響,封裝主要是將對象的方法和屬性封裝到一個模塊中,將這個模塊中的屬性私有化,只有這個類的方法和屬性才能訪問這個類的屬性,這就基本實現了類的封裝。封裝分為封和裝的兩個步驟,裝即將對象的屬性和方法封裝到一個類中,封即將對象的屬性私有化,並且提供get/set方法以用來外部訪問。

繼承:在定義一個和實現一個類的時候,可以在一個已經存在的類的基礎上來進行,把已存在的類定義的內容作為自己的內容,並可以加入自己新的內容,或修改已定義的方法,讓他更適合自己的需要,繼承主要繼承的是類的方法和屬性,方法主要是對方法使用許可權的繼承,並不是對代碼片段的繼承,屬性的繼承,即是對成員變數的拷貝,是對內存空間的拷貝(堆內存)。

多態:多態是指程序中定義的引用變數所指向的具體類型和通過該引用變數發出的方法調用在編譯期時並不確定,而是在方法的運行期才確定,即一個引用變數到底指向哪一個類的實例對象,該引用變數發出的方法到底會調用哪個類中的實現方法,必須在程序運行期才能確定。因為在 程序運行時才能確定哪個類,所以可以不用修改代碼,就可以讓應用變數綁定到不同的類上實現,讓程序可以選擇多個運行狀態,這就是多態

參考資料:百度百科——派生類

Java 中所有類的基類是什麼?

java.lang.Object是Java所有類的直接/間接父類。

一般需要重寫從Object繼承來的 equals, hashCode, toString方法。

Java中如何調用基類的基類的方法

 Java中調用基類的方法,可以使用關鍵字super來調用。使用示例如下:

class Base {

    Base() {

       System.out.println(“Base”);

    }

}

 

public class Checket extends Base {

    Checket() {

       super();//調用父類的構造方法,一定要放在方法的首個語句

       System.out.println(“Checket”);

    }

 

    public static void main(String argv[]) {

       Checket c = new Checket();

    }

}

java中基類和超類的區別

本章介紹Java的實用工具類庫java.util包。在這個包中,Java提供了一些實用的方法和數據結構。例如,Java提供日期(Data)類、日曆(Calendar)類來產生和獲取日期及時間,提供隨機數(Random)類產生各種類型的隨機數,還提供了堆棧(Stack)、向量(Vector) 、位集合(Bitset)以及哈希表(Hashtable)等類來表示相應的數據結構。

圖1.1給出了java.util包的基本層次結構圖。下面我們將具體介紹其中幾個重要的類。

┌java.util.BitSet

│java.util.Calendar

│ └java.util.GregorianCalendar

│java.util.Date

│java.util.Dictionary

│ └java.util.Hashtable

│ └java.util.Properties

│java.util.EventObject

│java.util.ResourceBundle

┌普通類┤ ├java.util.ListResourceBundle

│ │ └java.util.PropertyResourceBundle

│ │java.util.Local

│ │java.util.Observable

│ │java.util.Random

│ │java.util.StringTokenizer

│ │java.util.Vector

│ │ └java.util.Stack

Java.util┤ └java.util.TimeZone

│ └java.util.SimpleTimeZone

│ ┌java.util.Enumeration

├接 口┤java.util.EventListener

│ └java.util.Observer

│ ┌java.util.EmptyStackException

└異常類┤java.util.MissingResourceException

│java.util.NoSuchElementException

└java.util.TooManyListenersException

圖1.1 java.util包的基本層次結構

1.2 日期類Date

Java在日期類中封裝了有關日期和時間的信息,用戶可以通過調用相應的方法來獲取系統時間或設置日期和時間。Date類中有很多方法在JDK1.0公布後已經過時了,在8.3中我們將介紹JDK1.0中新加的用於替代Date的功能的其它類。

在日期類中共定義了六種構造函數。

(1)public Date()

創建的日期類對象的日期時間被設置成創建時刻相對應的日期時間。

例 Date today=new Date();//today被設置成創建時刻相對應的日期時間。

(2)public Date (long date)

long 型的參數date可以通過調用Date類中的static方法parse(String s)來獲得。

例 long l=Date.parse(“Mon 6 Jan 1997 13:3:00”);

Date day=new Date(l);

//day中時間為1997年 1月6號星期一,13:3:00。

(3)public Date(String s)

按字元串s產生一日期對象。s的格式與方法parse中字元串參數的模式相同。

例 Date day=new Date(“Mon 6 Jan 1997 13:3:00”);

//day 中時間為1997年1月6號星期一,13:3:00.

(4)public Date(int year,int month,int date)

(5)public Date(int year,int month,int date,int hrs,int min)

(6)public Date(int year,int month,int date,int hrs,int min,int sec)

按給定的參數創建一日期對象。

參數說明:

year的值為:需設定的年份-1900。例如需設定的年份是1997則year的值應為97,即1997-1900的結果。所以Date中可設定的年份最小為1900;

month的值域為0~11,0代表1月,11表代表12月;

date的值域在1~31之間;

hrs的值域在0~23之間。從午夜到次日凌晨1點間hrs=0,從中午到下午1點間hrs=12;

min和sec的值域在0~59之間。

例 Date day=new Date(11,3,4);

//day中的時間為:04-Apr-11 12:00:00 AM

另外,還可以給出不正確的參數。

例 設定時間為1910年2月30日,它將被解釋成3月2日。

Date day=new Date(10,1,30,10,12,34);

System.out.println(“Day’s date is:”+day);

//列印結果為:Day’s date is:Web Mar 02 10:13:34 GMT+08:00 1910

下面我們給出一些Date類中常用方法。

(1)public static long UTC(int year,int month,int date,int hrs. int min,int sec)

該方法將利用給定參數計算UTC值。UTC是一種計時體制,與GMT(格林威治時間)的計時體系略有差別。UTC計時體系是基於原子時鐘的,而GTMT計時體系是基於天文學觀測的。計算中使用的一般為GMT計時體系。

(2)public static long parse(String s)

該方法將字元串s轉換成一個long型的日期。在介紹構造方法Date(long date)時曾使用過這個方法。

字元串s有一定的格式,一般為:

(星期 日 年 時間GMT+時區)

若不註明時區,則為本地時區。

(3)public void setMonth(int month)

(4)public int getMonth()

這兩個方法分別為設定和獲取月份值。

獲取的月份的值域為0~11,0代表1月,11代表12月。

(5)public String toString()

(6)public String toLocalString()

(7)public String toGMTString()

將給定日期對象轉換成不同格式的字元串。它們對應的具體的格式可參看例子8.1。

(8)public int getTimezoneOffset()

該方法用於獲取日期對象的時區偏移量。

例8.1中對上面介紹的Date類中的基本方法進行了具體的應用,並列印了相應的結果。由於使用了一些過時的方法,所以編譯時會有警告信息。另外,由於本例中的時間表示與平台有關,不同的JDK版本對此處理不完全相同,因此不同版本的JDK執行本例的結果可能有細微差異。

例1.1 DateApp.java

import java.lang.System;

import java.util.Date;

public class DateApp{

public static void main(String args[]){

Date today=new Date();

//today中的日期被設成創建時刻的日期和時間,假設創建時刻為1997年3月

//23日17時51分54秒。

System.out.println(“Today’s date is “+today);

//返回一般的時間表示法,本例中結果為

//Today’s date is Fri May 23 17:51:54 1997

System.out.println(“Today’s date(Internet GMT)is:”

+today.toGMTString());

//返回結果為GMT時間表示法,本例中結果為

//Today’s date(Internet GMT)is: 23 May 1997 09:51:54:GMT

System.out.println(“Today’s date(Locale) is:”

+today.toLocaleString());

//返回結果為本地習慣的時間表示法,結果為

//Today’s date(Locale)is:05/23/97 17:51:54

System.out.println(“Today’s year is: “+today.getYear());

System.out.println(“Today’s month is: “+(today.getMonth()+1));

System.out.println(“Today’s date is: “+today.getDate());

//調用Date類中方法,獲取年月日的值。

//下面調用了不同的構造方法來創建Date類的對象。

Date day1=new Date(100,1,23,10,12,34);

System.out.println(“Day1’s date is: “+day1);

Date day2=new Date(“Sat 12 Aug 1996 13:3:00”);

System.out.println(“Day2’s date is: “+day2);

long l= Date.parse(“Sat 5 Aug 1996 13:3:00 GMT+0800”);

Date day3= new Date(l);

System.out.println(“Day3’s date(GMT)is: “+day3.toGMTString());

System.out.println(“Day3’s date(Locale)is: ”

+day3.toLocaleString());

System.out.println(“Day3’s time zone offset is:”

+day3.getTimezoneOffset());

}

}

運行結果(JDK1.3版,與原文不同,原文是JDK1.0版):

E:\java\tutorial\java01java DateApp

Today’s date is Thu Dec 27 17:58:16 CST 2001

Today’s date(Internet GMT)is:27 Dec 2001 09:58:16 GMT

Today’s date(Locale) is:2001-12-27 17:58:16

Today’s year is: 101

Today’s month is: 12

Today’s date is: 27

Day1’s date is: Wed Feb 23 10:12:34 CST 2000

Day2’s date is: Fri Aug 12 13:03:00 CST 1996

Day3’s date(GMT)is: 5 Aug 1996 05:03:00 GMT

Day3’s date(Locale)is: 1996-8-5 13:03:00

Day3’s time zone offset is:-480

E:\java\tutorial\java01

1.3 日曆類Calendar

在早期的JDK版本中,日期(Date)類附有兩大功能:(1)允許用年、月、日、時、分、秒來解釋日期:(2)允許對表示日期的字元串進行格式化和句法分析。在JDK1.1中提供了類Calendar來完成第一種功能,類DateFormat來完成第二項功能。dateFormat是java.text包中的一個類。與Date類有所不同的是,DateFormat類接受用各種語言和不同習慣表示的日期字元串。本節將介紹java.util包中的類Calendar及其它新增加的相關的類。

類Calendar是一個抽象類,它完成日期(Date)類和普通日期表示法(即用一組整型域如YEAR,MONTH,DAY,HOUR表示日期)之間的轉換。

由於所使用的規則不同,不同的日曆系統對同一個日期的解釋有所不同。在JDK1.1中提供了Calendar類一個子類GregorianCalendar??它實現了世界上普遍使用的公曆系統。當然用戶也可以通過繼承Calendar類,並增加所需規則,以實現不同的日曆系統。

第GregorianCalendar繼承了Calendar類。本節將在介紹類GregorianCalendar的同時順帶介紹Calendar類中的相關方法。

類GregorianCalendar提供了七種構造函數:

(1)public GregorianCalendar()

創建的對象中的相關值被設置成指定時區,預設地點的當前時間,即程序運行時所處的時區、地點的當前時間。

(2)public GregorianCalendar(TimeZone zone)

創建的對象中的相關值被設置成指定時區zone,預設地點的當前時間。

(3)public GregorianCalendar(Locale aLocale)

創建的對象中的相關值被設置成預設時區,指定地點aLocale的當前時間。

(4)public GregorianCalendar(TimeZone zone,Local aLocale)

創建的對象中的相關值被設置成指定時區,指定地點的當前時間。

上面使用到的類TimeZone的性質如下:

TimeZone是java.util包中的一個類,其中封裝了有關時區的信息。每一個時區對應一組ID。類TimeZone提供了一些方法完成時區與對應ID兩者之間的轉換。

(Ⅰ)已知某個特定的ID,可以調用方法

public static synchronized TimeZone getTimeZone(String ID)

來獲取對應的時區對象。

例 太平洋時區的ID為PST,用下面的方法可獲取對應於太平洋時區的時區對象:

TimeZone tz=TimeZone.getTimeZone(“PST”);

調用方法getDefault()可以獲取主機所處時區的對象。

TimeZone tz=TimeZone.getDefault();

(Ⅱ)調用以下方法可以獲取時區的ID

■public static synchronized String[] getavailableIDs(int rawOffset)

根據給定時區偏移值獲取ID數組。同一時區的不同地區的ID可能不同,這是由於不同地區對是否實施夏時制意見不統一而造成的。

例String s

何為基類和JAVA主類有何區別

基類是父類。 主類是包含main函數的那個類;

假如

A extends B (A是包含main函數的那個類)

則B是基類 (A從B那繼承而來)

A是主類 (有main函數)

java里什麼叫 超類 父類 子類 派生類 基類 , 能用大白話說一下嗎網上資料看不明白

超類就是Object,java裡面的所有類的頂級類,父類和子類是有繼承關係的時候產生的,派生類是c++裡面的叫法,Java裡面並沒有,基類一般是抽象類,可以有任何多個類去繼承它

原創文章,作者:CQQD,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/148322.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
CQQD的頭像CQQD
上一篇 2024-11-03 15:15
下一篇 2024-11-03 15:15

相關推薦

  • Java JsonPath 效率優化指南

    本篇文章將深入探討Java JsonPath的效率問題,並提供一些優化方案。 一、JsonPath 簡介 JsonPath是一個可用於從JSON數據中獲取信息的庫。它提供了一種DS…

    編程 2025-04-29
  • java client.getacsresponse 編譯報錯解決方法

    java client.getacsresponse 編譯報錯是Java編程過程中常見的錯誤,常見的原因是代碼的語法錯誤、類庫依賴問題和編譯環境的配置問題。下面將從多個方面進行分析…

    編程 2025-04-29
  • Java Bean載入過程

    Java Bean載入過程涉及到類載入器、反射機制和Java虛擬機的執行過程。在本文中,將從這三個方面詳細闡述Java Bean載入的過程。 一、類載入器 類載入器是Java虛擬機…

    編程 2025-04-29
  • Java騰訊雲音視頻對接

    本文旨在從多個方面詳細闡述Java騰訊雲音視頻對接,提供完整的代碼示例。 一、騰訊雲音視頻介紹 騰訊雲音視頻服務(Cloud Tencent Real-Time Communica…

    編程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介紹

    本文將詳細介紹Java Milvus SearchParam withoutFields的相關知識和用法。 一、什麼是Java Milvus SearchParam without…

    編程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java語言中的一個版本,於2014年3月18日發布。本文將從多個方面對Java 8中某一周的周一進行詳細的闡述。 一、數組處理 Java 8新特性之一是Stream…

    編程 2025-04-29
  • Java判斷字元串是否存在多個

    本文將從以下幾個方面詳細闡述如何使用Java判斷一個字元串中是否存在多個指定字元: 一、字元串遍歷 字元串是Java編程中非常重要的一種數據類型。要判斷字元串中是否存在多個指定字元…

    編程 2025-04-29
  • VSCode為什麼無法運行Java

    解答:VSCode無法運行Java是因為默認情況下,VSCode並沒有集成Java運行環境,需要手動添加Java運行環境或安裝相關插件才能實現Java代碼的編寫、調試和運行。 一、…

    編程 2025-04-29
  • Java任務下發回滾系統的設計與實現

    本文將介紹一個Java任務下發回滾系統的設計與實現。該系統可以用於執行複雜的任務,包括可回滾的任務,及時恢復任務失敗前的狀態。系統使用Java語言進行開發,可以支持多種類型的任務。…

    編程 2025-04-29
  • Java 8 Group By 會影響排序嗎?

    是的,Java 8中的Group By會對排序產生影響。本文將從多個方面探討Group By對排序的影響。 一、Group By的概述 Group By是SQL中的一種常見操作,它…

    編程 2025-04-29

發表回復

登錄後才能評論