java中的一些概念总结Word下载.docx

上传人:b****2 文档编号:5784739 上传时间:2023-05-05 格式:DOCX 页数:105 大小:48.73KB
下载 相关 举报
java中的一些概念总结Word下载.docx_第1页
第1页 / 共105页
java中的一些概念总结Word下载.docx_第2页
第2页 / 共105页
java中的一些概念总结Word下载.docx_第3页
第3页 / 共105页
java中的一些概念总结Word下载.docx_第4页
第4页 / 共105页
java中的一些概念总结Word下载.docx_第5页
第5页 / 共105页
java中的一些概念总结Word下载.docx_第6页
第6页 / 共105页
java中的一些概念总结Word下载.docx_第7页
第7页 / 共105页
java中的一些概念总结Word下载.docx_第8页
第8页 / 共105页
java中的一些概念总结Word下载.docx_第9页
第9页 / 共105页
java中的一些概念总结Word下载.docx_第10页
第10页 / 共105页
java中的一些概念总结Word下载.docx_第11页
第11页 / 共105页
java中的一些概念总结Word下载.docx_第12页
第12页 / 共105页
java中的一些概念总结Word下载.docx_第13页
第13页 / 共105页
java中的一些概念总结Word下载.docx_第14页
第14页 / 共105页
java中的一些概念总结Word下载.docx_第15页
第15页 / 共105页
java中的一些概念总结Word下载.docx_第16页
第16页 / 共105页
java中的一些概念总结Word下载.docx_第17页
第17页 / 共105页
java中的一些概念总结Word下载.docx_第18页
第18页 / 共105页
java中的一些概念总结Word下载.docx_第19页
第19页 / 共105页
java中的一些概念总结Word下载.docx_第20页
第20页 / 共105页
亲,该文档总共105页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

java中的一些概念总结Word下载.docx

《java中的一些概念总结Word下载.docx》由会员分享,可在线阅读,更多相关《java中的一些概念总结Word下载.docx(105页珍藏版)》请在冰点文库上搜索。

java中的一些概念总结Word下载.docx

11

12

13

14

15

16

17

18

public 

class 

Demo01 

{

static 

void 

main(String[] 

args) 

int 

30;

//基本数据类型

Integer 

new 

Integer(x);

//装箱——将基本数据类型变成包装类

temp 

i.intValue();

//拆箱——将包装类变为基本数据类型

System.out.println(temp);

float 

30.9f;

Float 

Float(y);

tem 

f.floatValue();

System.out.println(tem);

boolean 

true;

Boolean 

bb 

Boolean(b);

bb.valueOf(b);

System.out.println(t);

}

控制台输出:

30

30.9

true

在JDK1.5之前,对于程序本身来说,包装类是不能进行“+”、“-”……运算,因为那是一个类。

但是在JDK1.5之后对程序的包装类功能进行了改变,增加了自动装箱与拆箱机制,而且也可以使用包装类进行数字运算。

 

例程2:

19

Demo02 

ii 

10;

//自动装箱为Integer

ff 

3.3f;

//自动装箱为Float

boo 

false;

//自动装箱为Boolean

ii++;

//直接对装箱后的类进行操作

ff--;

!

boo;

xx 

ii;

//自动拆箱为int

yy 

ff;

//自动拆箱为float

bool 

//自动拆箱为boolean

System.out.println(xx);

System.out.println(yy);

System.out.println(bool);

2.3

在包装类中还有一个最大的特点:

就是可以将字符串变为指定的数据类型。

例程3:

Demo03 

String 

str1 

"

99"

;

//由数字组成的字符串

str2 

56.8"

str3 

true"

System.out.println(Integer.parseInt(str1));

//转化为相应的类型输出

System.out.println(Float.parseFloat(str2));

System.out.println(Boolean.parseBoolean(str3));

99

56.8

方法的参数或者返回类型也可以设置成响应的包装类。

如下如所示:

2014-12-08

JAVA

1101浏览12回答

最佳回答

2015-09-09

太厉害了,第一天,第一次的心态,基本觉得以后做事的水平了

汤宗

回复 

_潇潇暮雨 

(提问者)

非常感谢!

#12015-09-09 

回复

_潇潇暮雨

【Object类】

在java中一切类都是以继承的关系存在的。

现在假设定义了一个Person{}类,如果一个类在定义的时候如果没有默认指明它的继承关系,那么它默认继承Object类,所以Person类的实际代码是:

Person 

extends 

Object{

……

Object类是所有类的父类。

Object类的构造方法:

publicObject()

Object类中的3个主要方法:

publicbooleanequals(Objectobj)——对象比较

publicinthashCode()——取得hash码

publicStringtoString()——对象打印时调用

一个完整的类在定义的时候应该重写Object类中的3个主要方法。

例程一:

toString方法的使用

Demo{ 

// 

定义Demo类,实际上就是继承了Object类

};

ObjectDemo01{

main(String 

args[]){

Demo 

Demo() 

实例化Demo对象

System.out.println("

不加toString()输出:

+d) 

加上toString()输出:

+d.toString()) 

gpf.Demo@18f1d7e

由此可见,加与不加toString的结果是一样的,也就证明了对象在打印的时候一定会调用toString()方法,是默认调用的。

那么此时就可以利用此特性完成类中信息的输出。

例程二:

重写toString方法,输出类中的信息

Person{

private 

name 

定义name属性

age 

定义age属性

Person(String 

name,int 

age){

this.name 

this.age 

@Override

toString(){

return 

姓名:

年龄:

ObjectDemo02{

per 

Person("

Tom"

13) 

实例化Person

对象信息:

per) 

Tom;

equals()方法:

equals()方法的主要功能是进行对象的比较操作,String本身是Object类的子类,所以已经重写了该方法。

equals()方法的主要功能是完成对象的比较的。

例程三:

equals()方法比较对象。

20

21

22

23

24

25

26

27

28

29

31

32

33

34

35

36

equals(Object 

obj){

if(this==obj){ 

地址相等

true 

肯定是同一个对象

if(!

(obj 

instanceof 

Person)){ 

不是Person对象

false 

(Person) 

obj 

向下转型

if(per.name.equals(this.name)&

&

per.age 

== 

this.age){

依次比较内容

}else{

ObjectDemo03{

per1 

Rubby"

30) 

per2 

System.out.println(per1.equals(per2)?

是同一个人!

:

不是同一个人!

) 

System.out.println(per1.equals("

hello"

)?

Object类是所有类的父类,则所有类的对象都可以使用Object接收,但是Object不光可以接收对象,还可以接收任意的引用数据类型。

例程四:

使用Object接收接口实例

interface 

A{

getInfo();

implements 

getInfo(){ 

覆写方法

Hello 

World!

ObjectDemo04{

B() 

向上转型,为接口实例化

Object 

使用Object接收,向上转型

(A)obj 

System.out.println(x.getInfo()) 

HelloWorld!

例程五:

使用Object接收数组

ObjectDemo05{

temp[] 

{1,3,5,7,9} 

定义数组

print(obj) 

print(Object 

o){

if(o 

int[]){ 

判断是否是整型数组

x[] 

(int[])o 

for(int 

i=0;

i<

x.length;

i++){

System.out.print(x[i] 

\t"

13579

总结:

Object类是所有类的父类,只要是引用数据类型,都可以使用Object类进行接收

对象在进行向下转型之前,一定会发生向上转型(instanceof关键字)

2014-12-09

【static关键字】

非static关键字声明的属性和方法,每个对象都占有各自的内容。

如果现在希望一个属性和被该类的所有对象共同拥有,则可以将其声明为static类型,声明为static类型的属性或者方法之后,此属性或者方法也称为静态变量和方法,可以由类名直接调用。

使用static声明属性:

static可以声明全局属性

Person{ 

定义Person类

定义name属性,暂时不封装

定义age属性,暂时不封装

country 

A城"

定义城市属性,有默认值

age;

info(){ 

得到信息

,年龄:

,城市:

country) 

StaticDemo01{

p1 

张三"

实例化对象

p2 

李四"

31) 

p3 

王五"

32) 

p1.info() 

p2.info() 

p3.info() 

张三,年龄:

30,城市:

A城

李四,年龄:

31,城市:

王五,年龄:

32,城市:

以上代码确实实现了一些基本功能,但是此时的城市名称不叫“A城”而改成了“B城”,如果现在已经产生了5000个对象,那么就意味着此时就需要修改5000个对象中的country属性。

所以此时最好使用static关键字声明属性。

代码改为:

定义城市属性,有默认值,static

StaticDemo02{

--------------- 

修改之前 

-------------"

Person.country 

B城"

修改static属性,使用类名

修改之后 

---------------修改之前-------------

---------------修改之后-------------

B城

由以上例程可以看出:

修改一个对象中的country属性,则其他对象的country属性也全部被改变,证明该属性是该类的所有对象所共享的。

每一个对象都有自己各自的堆栈空间,堆内存中保存着各自的属性,但是所有的static属性则是保存在了全局数据区中,所有的对象共同指向全局数据区中的一个内容,所以当一个对象修改之后,所有对象的该属性将全部被改变。

PS:

java中内存区域的划分:

栈内存:

保存对象的名称(访问的堆内存的地址)

堆内存:

保存每个对象的具体属性

全局数据区:

保存static类型的数据

全局代码区:

保存所有方法的定义

一般使用static属性的时候,最好使用类名称直接调用,采用“类名.属性”的形式进行调用。

同理,可以使用static关键字声明方法。

——此方法可

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2