类是对象的模板,对象是类的实例。一般通过类来创建对象实例。

类:包含3部分:属性、构造器、方法

 

1.方法的可变参数:

可变参数本质是一个由类型相同的一个或多个参数组成的数组。(可变参数,在方法体中表现为一个数组,如例子中nums)

例如:求多个整数的和,用可变参数来定义方法会变得简单。

public int getSum(int ...nums){

int sum=0;

for(int num : nums){

sum+=num;

}

return sum;

}

 

2.this关键字:

类的每个非静态方法(非static),都隐含一个this引用名称,它指向调用这个方法的对象。(方法所在的类的对象实例。)

this可以看成是一个变量,是对当前对象的引用。可用this显示的调用当前对象的属性和方法

this关键字的2种用法:

2.1:在类的非静态方法中,显示访问其他成员变量。

特别是方法的某个参数名和类的成员变量同名时,需要用this显示访问成员变量,以避免参数覆盖成员变量的作用范围。

如:

public Person(String name){

this.name=name;

}

2.2:如果某个构造器的第一条语句具有形式this(....),那么这个构造器将调用本类中的其他构造器。

如:

public Person(){

this("xiaoming",23);//这个构造器调用了本类中带2个参数的构造器。

}

 

3.属性、参数、局部变量的关系

属性、参数、局部变量都是数据的载体,他们的作用、使用方式、作用域都有所不同。

属性:使用:类的一个成员,因此又称成员变量。作用:保存对象的属性。作用域:整个类范围内。(因此方法也可以访问类的属性。)

参数:使用:方法的一部分。  作用:为方法传值。  作用域:参数定义在方法前面中,方法内有效。

局部变量:使用:定义在方法体内的临时变量。  作用:临时存储数据。   作用域:从声明位置开始到最近的}终止。

 

4.javabean:

javabean是一个可重复使用的软件组件。实际也是一个JAVA类,通过封装属性和方法称为具有某种功能的对象。简称bean。

为了让应用程序构建工具知道bean的属性和方法,编写一个javabean需遵守以下语法规则:

4.1为这个类提供一个public的无参构造函数;

4.2把所有的属性都定义成私有的private;

4.3为每个属性提供public的getter和setter方法。(方便获取和修改属性值)

 

5.包

解决类命名冲突问题。(同名的类,放在不同的包中,则不会有问题)

声明包:package  com.otc15.test;    

包名全部小写,编译时包名会转成一级级目录,所以不能包含特殊字符

注意:如果一个类,没有package语句,则它属于默认包中的类,默认包中的类无法被其他包中的类引用。

当类声明了包之后,同一个包中的类会默认引入。

当要使用其他包中的类,需先引入对应的类,才能使用,引用其他包中的类的3种方式:

5.1:  a.b.util.Student stu=new a.b.util.Student();//这种引入方式太麻烦

5.2: import a.b.util.Student;

5.3:     import a.b.util.*;//引入包中的所有类

注意:import语句放在package之后,class定义之前。

 

JDK中常用的包:

java.lang   包含java语言的核心类:如String ,Math,Integer,System,Thread等。系统默认为所有类自动导入lang包中的所有类。

java.util   包含一些使用的工具类:如定义系统特性、日期时间、日历、集合类等

java.io   包含输入输出的流类。

java.net  包含执行网络相关操作的类。用于网络通信编程。

java.sql  操作数据库的API。用于数据库编程。

java.text  包含用于处理文本、日期、数字和消息的类和接口。

java.swing  包含了构成轻量级窗口的组件。

 

文档注释:

对程序的各个组成部分(包、类、属性、方法等)进行说明,方便别人理解他人所写的代码。

可以用javadoc.exe文档生成工具,生成专业帮助文档。

文档注释中可以加html标记和@符号。@符号代表特殊的作用。如标示作者:@anthor