一、对象
Java语言中的对象是对现实世界中对象的模拟,现实中的对象存在于现实生活中,Java语言中的对象存在于计算机内存中。
Java语言中的对象又称为实例。
全面认识现实生活中的对象就要知道它有哪些信息,它能干什么(即功能)?
Java中的对象也是如此,只是叫法不同:Java中将现实对象中的信息称为属性(也叫全局变量),将现实对象中的功能称为方法。
二、类
汉语中的“类”是指很多相似事物的总和。
Java语言把一组对象中相同属性和方法抽象到一个Java源文件就形成了类。
定义一个类的步骤:1、定义类名;2、定义类的属性;3、定义类的方法。
类名的命名规则:
1、符合标识符命名规范;
2、类名必须使用英文字母,首字母应大写,如Hello、People等。
3、当类名由多个”单词”组合而成时,每个单词的首字母都要大写。如 Time、Game、Dog、DateUtil。
public class Student {
//定义属性
String id; //学号
String name; //学生姓名
String grade; //学生年级
//定义读书方法
public void readBook() {
System.out.println(name + “正在读书……");
}
//定义写作业方法
public void doHomework() {
System.out.println(this.name + “正在写作业……");
}
}
声通过new关键字创建对象。创建对象又称实例化对象。
Student student = new Student();
使用”.”运算符访问对象的属性和方法。
student.属性 = 值;
student.方法名();
public class TestStudent {
public static void main(String[] args) {
Student student = new Student();//创建李四学生类对象
student.id = "wl2014001";
student.name = "李四";
student.grade = "三年级";
student.readBook();//调用学生读书方法
student.doHomework();//调用学生写作业的方法
}
}
三、类与对象
类是创建对象的模板,确定对象将会拥有的属性和方法。
类是对象的抽象化;对象是类的具体化。
类是一种数据类型,是对象的数据类型(不同于int等基本类型:类具有方法)。
面向对象:简单的说就是让对象成为类与类之间的“通信”的桥梁,通过对象使类之间形成有机的整体。
四、方法与重载
(1)、如何定义方法
访问控制符 [修饰符] 返回值类型 方法名( [参数] ) {
//方法体
}
示例:
public void sayHello(){
System.out.println("Hello");
}
protected final void show(int x){
System.out.println(x);
}
private static int add(int x, int y){
return x+y;
}
访问控制符:方法中的访问控制符用于限制方法在其他类中的使用范围。
static修饰符用于限制方法的调用方式:
1、static修饰的方法可以直接使用类名调用也可以使用类创建的对象调用;
2、非static修饰的方法只能使用类创建的对象调用。
返回值类型:
如果方法没有返回值,需要用void表示。
方法返回基本数据类型的数据,则返回值类型必须是返回数据所属的数据类型或者精度更高的数据类型(针对于数值类型的数据)。
方法返回引用数据类型的数据,则返回值类型必须是返回数据所属的数据类型或者其父类。
方法如果有返回值,则必须借助return关键字将数据返回;
参数:
方法可以有多个参数,各个参数之间用逗号(,)间隔
方法的参数在整个方法内有效。
方法参数前面的数据类型用于限制调用方法时所传具体数据的数据类型;
int multiplication(int x, int y){
int result = x*y;
return result;
}
动态参数:
1、动态参数实质为数组;
2、动态参数必须位于参数列表的最后;
3、一个方法只能有一个动态参数;
public class Test {
public static void print(int... numbers) {
for (int number : numbers) {
System.out.println(number);
}
}
public static void main(String[] args) {
print(1, 2, 3, 4, 5);
}
}
方法递归:方法递归是指一个方法在它的方法体内调用它自身。
方法重载:
同一个类中有多个方法名相同但参数列表不同的方法,这种现象称为方法重载(overload)。其中参数列表不同包括以下情形:
1、参数的个数不同
2、参数的对应类型不同
注意:1、参数列表不同并不包含参数名不同,也就是说如果方法名相同,方法中参数个数和类型相同,只是参数名不同,这样也不能称之为方法重载。
2、方法中其它构成部分不参与比较:访问控制符、修饰符、返回值类型。
一个类中有多个同名方法(构造方法或普通方法),在调用这些方法时,到底调用哪个方法取决于调用方法时传入的参数的数据类型和个数。