java基础知识点总结.docx

上传人:b****1 文档编号:230976 上传时间:2022-10-07 格式:DOCX 页数:31 大小:63.47KB
下载 相关 举报
java基础知识点总结.docx_第1页
第1页 / 共31页
java基础知识点总结.docx_第2页
第2页 / 共31页
java基础知识点总结.docx_第3页
第3页 / 共31页
java基础知识点总结.docx_第4页
第4页 / 共31页
java基础知识点总结.docx_第5页
第5页 / 共31页
点击查看更多>>
下载资源
资源描述

java基础知识点总结.docx

《java基础知识点总结.docx》由会员分享,可在线阅读,更多相关《java基础知识点总结.docx(31页珍藏版)》请在冰豆网上搜索。

java基础知识点总结.docx

CreatedbyAIwenon2017/5/14.

java是面向对象的程序设计语言;类可被认为是一种自定义的数据类型,可以使用类来定义变量,所有使用类定义的变量都是引用变量,它们将会引用到类的对象。

类用于描述客观世界里某一类对象的共同特征,而对象则是类的具体存在,java程序使用类的构造器来创建该类的对象。

java也支持面向对象的三大特征:

封装、继承、和多态。

java提供了private、protected、和public三个访问控制修饰符来实现良好的封装,提供了extends关键字让子类继承父类,子类继承父类就可以继承到父类的成员变量和和方法,如果访问控制允许,子类实例可以直接调用父类里定义的方法。

继承是实现类复用的重要手段。

使用继承关系来实现复用时,子类对象可以直接赋给父类变量,这个变量具有多态性。

面向对象的程序设计过程中有两个重要的概念:

类(Class)和对象(object,也被称为实例,instance)。

类可以包含三种最常见的成员:

构造器、成员变量、和方法。

构造器用于构造该类的实例,java语言通过new关键字类调用构造器,从而返回该类的实例。

构造器是一个类创建对象的根本途径,如果一个类没有构造器,这个类通常无法创建实例。

因此java语言提供了一个功能:

如果程序员没有为一个类编写构造器,则系统会为该类提供一个默认的构造器,这个构造器总是没有参数的。

一旦程序员为一个类提供了构造器,系统将不再为该类提供构造器。

构造器用于对类实例进行初始化操作,构造器支持重载,如果多个重载的构造器里包含了相同的初始化代码,则可以把这些初始化代码放置在普通初始化块里完成,初始化块总在构造器执行之前被调用。

静态初始化块代码用于初始化类,在类初始化阶段被执行。

如果继承树里某一个类需要被初始化时,系统将会同时初始化该类的所有父类。

构造器修饰符:

可以是public、protected、private其中之一,或者省略构造器名:

构造器名必须和类名相同。

注意:

构造器既不能定义返回值类型,也不能使用void声明构造器没有返回值。

如果为构造器定义了返回值类型,或使用void声明构造器没有返回值,编译时不会出错,但java会把这个所谓的构造器当成方法来处理——它就不再是构造器。

实际上类的构造器是有返回值的,当使用new关键字来调用构造器时,构造器返回该类的实例,可以把这个类的实例当成构造器的返回值。

因此构造器的返回值类型总是当前类,无须定义返回值类型。

不要在构造器里显式的使用return来返回当前类的对象,因为构造器的返回值是隐式的。

java类名必须是由一个或多个有意义的单词连缀而成的,每个单词首字母大写,其他字母全部小写,单词与单词之间不要使用任何分隔符。

成员变量:

成员变量的修饰符:

public、protected、private、static、final前三个只能出现一个再和后面的修饰符组合起来修饰成员变量,也可省略。

成员变量:

由一个或者多个有意义的单词连缀而成,第一个单词首字母小写,后面每个单词首字母大写,其他字母全部小写,单词与单词之间不要使用任何分隔符。

类型:

可以是java语言允许的任何数据类型,包括基本类型和引用类型。

成员方法:

方法修饰符:

public、protected、private、static、final、abstract,前三个只能出现一个,static和final最多只能出现其中的一个,和abstract组合起来使用。

也可省略。

返回值类型:

可以是java语言的允许的任何数据类型,包括基本类型和引用类型。

方法名:

和成员变量的方法命名规则相同,通常建议方法名以英文动词开头。

方法体里多条可执行语句之间有严格的执行顺序,排在方法体前面的语句总先执行,排在方法体后面的语句总是后执行。

static是一个特殊的关键字,它可用于修饰方法、成员变量等成员。

static修饰的成员表明它属于这个类本身,而不属于该类的单个实例,因此通过把static修饰的成员变量和方法被称为类变量、类方法(静态成员变量,静态成员方法);不使用static修饰的成员变量和方法称为实例变量和实例方法(非静态成员变量,非静态成员方法)。

静态成员不能直接访问非静态成员。

static的真正作用就是用于区分成员变量、方法、内部类、初始化块,这四种成员到底属于类本身还是属于实例。

有static修饰的成员属于类本身,没有类修饰的成员属于该类的实例。

java类大致有如下作用:

定义变量

创建对象

调用类的类方法或访问类的类变量。

定义一个类就是为了重复创建该类的实例,同一个类的多个实例具有相同的特征,而类则是定义了多个实例的共同特征。

类里定义的方法和成员变量都可以通过类或实例来调用。

Static修饰的方法和成员变量,既可通过类来调用,也可通过实例来调用;没有使用static修饰的普通方法成员变量,只可通过实例来调用。

Personp=newPerson();这行代码创建了一个Person实例,也被称为Person对象,这个Person对象被赋给p变量。

在这行代码中实际上产生了两个东西,一个是p变量,一个是Person对象。

P引用变量本身只存储了一个地址值,并未包含任何实际数据,但它指向实际的Person对象。

Person对象由多块内存组成,不同内存块分别存储了Person对象的不同成员变量。

类是一种引用数据类型,因此程序中定义的Person类型的变量实际上是一个引用,它被存放在栈内存里,指向实际的Person对象;而真正的Person对象则存放在堆内存中。

当一个对象被创建成功以后,这个对象将保存在堆内存中,java程序不允许直接访问堆内存中的对象,只能通过该对象的引用操作该对象。

堆内存里的对象可以有多个引用,即多个引用变量指向同一个对象。

如果堆内存里的对象没有任何变量指向该对象,那么程序将无法再访问该对象,这个对象也就变成了垃圾,java垃圾回收机制将回收该对象,释放该对象所占的内存区。

对象的this引用

Java提供了一个this关键字,this关键字总是指向调用该方法的对象。

This作为对象的默认引用有两种情形:

构造器中引用该构造器正在初始化的对象;在方法中引用调用该方法的对象。

This关键字最大的作用就是让类中一个方法,访问该类里的另一个方法或者实例变量。

Java允许对象的一个成员直接调用另一个成员,可以省略this 前缀。

如果在static修饰的方法中使用this关键字,则这个关键字就无法指向合适的对象,所以,static修饰的方法中不能使用this引用。

Java编程时不要使用对象去调用static修饰的成员变量、方法、而是应该使用类去调用static修饰的成员变量、方法。

如果确实需要在静态方法中访问另一个普通方法,则只能重新创建一个对象。

大部分的时候,普通方法访问其他方法、成员变量时无须使用this前缀,但如果方法里有个局部变量和成员变量同名,但程序又需要在该方法里访问这个被覆盖的成员变量,则必须使用this前缀。

This引用也可以用于构造器中作为默认引用,由于构造器时直接使用new关键字来调用,而不是使用对象来调用的,所以this在构造器中代表该构造器正在初始化对象。

方法:

Java里的方法不能独立存在,所有的方法都必须定义在类里。

如果这个方法是用来static修饰,则这个方法属于这个类,否则这个方法属于这个类的实例。

执行方法时,必须使用类或者对象作为调用者。

同一个类的一个方法调用另外一个方法时,如果被调方法是普通方法,则默认使用this作为调用者;如果被调用方法是静态方法,则默认使用类作为调用者。

也就是说java中看起来某些方法可以被独立执行,但实际上还是使用this或者类来作为调用者。

Java里方法参数传递方式只有一种:

值传递。

所谓值传递,就是讲实际参数值的副本(复制品)传入方法内,而参数本身不会受到任何影响。

从JDK1.5之后,java允许定义形参个数可变的参数,从而允许为方法指定数量不确定的形参。

如果在定义方法时,在最后一个形参的类型后增加三点(…),则表明该形参可以接受多个参数值,多个参数值被当成数组传入。

publicclassVarargs{

//定义形参可变的方法

publicstaticvoidtest(inta,String...books){

//books被当成数组处理

for(Stringtmp:

books){

System.out.println(tmp);

}

System.out.println(a);

}

publicstaticvoidmain(String[]args){

//调用test方法

test(5,"hello","world","aa");

}

}

数组形式的形参可以处于形参列表的任意位置,但个数可变的形参只能处于形参表的最后。

也就是说最多只能有一个长度可变的形参。

形参可变和传入数组的区别:

publicstaticvoidtest(inta,String...books);

publicstaticvoidtest(inta,String[]books);

test(5,"aa","bb","cc");

test(5,newString[]{"aa","bb","cc"});

方法重载:

Java允许同一个类里定义多个同名方法,只要形参列表不同就行。

如果同一个类中包含了两个或两个以上方法的方法名相同,但形参列表不同,则被称为方法的重载。

Java程序确定一个方法需要三个要素:

调用者;方法名;形参列表。

方法的重载要求就是两同一不同:

同一个类中方法名相同,参数列表不同。

至于方法的其他部分,如方法返回值类型、修饰符等,与方法重载没有任何关系。

publicclassOverloadVarargs{

publicvoidtest(Stringmsg){

System.out.println("只有一个参数的test");

}

//因为前面已经有了一个字符串参数的方法,则长度可变形参里不包含一个字符串参数的形式

publicvoidtest(String...books){

System.out.println("形参可变的test方法");

}

publicstaticvoidmain(String[]args){

OverloadVarargsolv=newOverloadVarargs();

//下面两次调用将执行第二个test方法

olv.test();

olv.test("aa","bb");

//将调用第一个test方法

olv.test("aa");

//将调用第二个test方法

olv.test(newString[]{"aa"});

}

}

Java中变量分为:

成员变量和局部变量。

成员变量被分为类变量和实例变量两种,定义成员变量时没有static修饰的就是实例变量,有static修饰的就是类变量。

l变量的命名:

从程序的可读性角度来看,应该是多个有意义的单词连缀而成,其中第一个单词首字母小写,后面每个单词首字母大写。

l如果通过一个实例修改了类变量的值,由于这个类变量并不

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

当前位置:首页 > 考试认证 > IT认证

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1