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/n/148322.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
CQQDCQQD
上一篇 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

发表回复

登录后才能评论