Java基础知识中的类

日期: 2025-02-27 18:09:21 |浏览: 35|编号: 76588

友情提醒:信息内容由网友发布,本站并不对内容真实性负责,请自鉴内容真实性。

Java基础知识中的类

访问说明符class类名超类名接口名

其中:

(1)访问说明符为或者缺省。用来声明该类为有类,可以被别的对象访问。声明为公有的类存储的文件名为类名。

(2)类名:用户自定义的标识符,用来标志这个类的引用。

(3)超类名:是指已经存在的类,可以是用户已经定义的,也可以是系统类。

(4)接口名:即后面讲到的接口。

例如:

class

访问说明符为,类名,扩展类为JDK包自带的java..类。由于的存在,所以文件名必须存为.java,同类名保持一致。

2、类体

类体包括成员变量和方法。

(1)成员变量:

指类的一些属性定义,标志类的静态特征,它的基本格式如下:

访问说明符 数据类型 变量名

其中:

(2)方法:

昌类的操作定义,标志类的动态特征,它的基本格式如下:

3、创建类的实例

使用关键字new进行创建,例如:

hp=new ();

例1中,自定义类apple,访问标识符缺省,定义三个属性:

long ;//对应苹果的颜色

;//苹果的重量

eatup;//是否吃完

一个方法为:

bite()//类方法{...}

公有类中引用自定义类,首先创建类的实例:

apple a=new apple();

其次赋初值:

a.=0.5;//实例变量赋值

最后调用它的方法:

.out.(a.bite());//调用实例方法

二、类的单继承性

Java编程语言中允许用关键字从一个类扩展出一个新类,新类继承超类的成员变量和方法,并可以覆盖方法。

例2:测试类的单继承性,程序输出结果如图2所示。源程序代码如下:

//程序文件名.java

class

void main([] args)

.out.("覆盖的方法调用:"+(王一",500));

.out.("继承的方法调用:"+("王一",500));

.out.("覆盖的方法调用:"+("王飞",10000));

.out.("继承的方法调用:"+("王飞",10000));

( name,int )

str;

if(>5000)

str="名字:"+name+" :"+;

else

str="名字:"+name+" :低于5000";

str;

};

class

name;//名字

int ;//薪水

( name,int )

str;

str="名字:"+name+" :"+;

str;

( name,int )

str;

str="名字:"+name+" :"+;

str;

};

程序中定义了父类类,它有两个方法和,方法体的实现都是一致的,都为输出名字和薪水的值。在主类中覆盖了方法,方法体重新定义为薪水低于5000时并不输出薪水的值而是输出“低于5000”,用于和继承的方法进行比较。由图2可以看出覆盖调用父类中的方法。

图2:测试单继承性程序的输出结果

三、特殊变量

类中有两个特殊变量super和this。

1、super

类声明中用关键字扩展了其超类之后,super用在扩展类中引用其超类中的成员变量。

例3:使用super变量,输出结果如图3所示。源程序代码如下:

//程序文件名为.java

class

void main([] args)

m=new ();

m.name="王飞";

m.=10000;

m.="业务部";

.out.(m.());

class

name;//名字

int ;//薪水

//方法

()

str;

str="名字:"+name+"\:"+;

str;

class

;//部门

//方法

()

//使用super变量调用超类的方法

super.()+"\:"+;

图3:测试super变量输出

2、this

this变量指向当前对象或实例。

str="名字:"+name+"\:"+;

上例中的语句可以换成下面的语句。

str="名字:"+this.name+"\:"+this.;

这两者是等同的,因为在Java编程语言中,系统自动将this关键字与当前对象的变量相关联。但有一种情况例外,就是当在某些完全分离的类中调用一个方法并将当前对象的一个引用作为参数传递时。

例如:

Day d=new Day(this);

四、构造函数

类中的构造函数用来初始化一个类。构造函数为公有类型,无返回值,用来从类实例中访问类时初始化此类的私有变量。

例4:基于例3将公有变量改成私有变量之后,增加两个构造函数,访问通过外部调用构造函数实惠初始化赋值,得到如图3所示的结果。

//程序文件名为.java

class

void main([] args)

m=new ("王飞",10000,"业务部");//初始化赋值

.out.(m.());

class

name;//名字

int ;//薪水

//构造函数

(,)

name=_name;

=;

()

str;

str="名字:"+name"\:"+;

str;

class

//构造函数

(,,)

super(_name,);

=;

()

super.()+"\:"=;

五、包

计算机操作系统使用文件夹或者目录来存放相关或者同类的文档,在Java编程语言中,提供了一个包的概念来组织相关的类。包在物理上就是一个文件夹,逻辑上代表一个分类概念。

包就是指一组类。例如一个名叫的包,可以包含一组类,如(雇员)、(管理者)和(部门)等。声明包的基本格式如下:

包名;

其中:为关键字,包名为标识符。

使用包时的注意事项如下:

1、语句要作为程序非注释语句的第一行语句。

2、包内的类名惟一。

3、引用包中的类时,使用语句。语句的基本格式为包名.类名,其中为关键字,包名和类名之间用圆点(.)隔开。

例5:编写程序测试包,先建立一个文件夹,然后建立名为.java的类文件。源程序代码如下:

//程序文件名为.java

;//声明包名

class

name;//名字

int ;//薪水

()

str;

str="名字:"+name+"\:"+;

str;

class

;//部门

()

super.()+"\:"+;

对此文件进行编译,生成文件.class。

在原目录建立源程序文件.java。源程序代码如下:

//程序文件名.java

.;//引入包中的类

class

void main([] args)

m=new ();

m.name="王飞”;

m.+10000;

m.="业务部";

.out.(m.());

编译后,在命令提示符状态下运行,输出结果如图4所示。从图4中可以看出首先进入目录,编译.java文件,然后返回上层目录,编译.java文件,然后返回上层目录,编译.java文件,最后执行类文件,输出正确的结果。

图4:测试包的输出结果

西安校区

Java培训脱产班开课时间:已开班,有余座 抢座中..

电话:

地址:陕西省西安市高新区科技二路西安软件园天泽大厦五楼

郑州校区

Java培训脱产班开课时间:2017年02月28日 抢座中..

电话: -

地址:河南省郑州市金水区东风路与文化路交叉南100米

深圳校区

Java培训脱产班开课时间:2017年02月21日 抢座中..

电话: -

地址:深圳市南山区科文路1号华富洋大厦3F

科普一下什么是脱产班:

脱产班就是参加工作后再去校内进行学习

一种学习方式。其管理模式与高校普通班

级一样,学习期间完全脱离生产不在原单

位工作,全身心的进行全日制学习。不占

用学生周六和周日的工作时间,对学生有

正常的、相对固定的授课教室和管理要求

,有稳定的寒暑假安排。

一个有用的公众号

尚学堂java培训

web前端

培训基地

提醒:请联系我时一定说明是从旅游网上看到的!