【Java基础知识14讲-10:Java类】
【对象:】
1.面向对象程序设计的核心是使用对象编程。
对象(object)代表现实世界中可以明确识别的的一个整体事物。例如:一个教师,一个学生,一个三角形,软件界面中的一个窗口等。都可以看做是一个对象。
2.对象必须具有自己独有的特征:状态和行为。
对象的状态使用一组数组的值来描述,成为属性:对象的行为由一组对象能够完成的方法来描述。例如:一个矩形对象可以有宽和高两个属性,它们的数值是矩形对象存在的基础;同时矩形对象具有根据长和宽计算面积和周长的方法。
【类:(class):】
**类(class)**是定义同一类型对象的结构。例如,在特定场合下,所有的矩形都必须具有长和宽两个double类型数据域,具有计算面积和周长的方法,在类中使用变量来表示属性;方法表示行为,此外在类中还必须具有一种特殊的方法,成为构造方法,调用它可以创建类的对象。
【类与对象的关系如下:】
可以理解为:
1.类就是图纸。
2.汽车就是堆内存中的对象。
【类的定义:】
生活中描述事物无非就是描述事物的属性和行为。
如:人有身高、体重等属性,有说话、打球等行为。
Java中用类(class)来描述事物也是如此。
属性:对应类中的成员变量。
行为:对应类中的成员函数。
定义类其实就是在定义类重的成员(成员变量和成员函数)。
【创建对象举例】如下:
public class Person {
private String name; //属性name
private int age; //属性age
public void show() { //类具有的方法
System.out.println("Name: " + name + ", Age: " + age);
}
public String getName() { //类具有的方法
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public static void main(String[] args) { //类具有的特殊方法main方法,用static描述
Person person = new Person();
person.setName("David");
person.setAge(10);
person.show();
}
}
【构造函数】:
创建对象时使用了构造函数这一方法,来创建和构造出对象。
特点:
函数名和类名相同。
不用定义返回值类型。
不可以写return语句。
作用:
给对象进行初始化。
注意:
默认构造函数。
多个构造函数是以重载的函数的形式存在的。
如下举例:
class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public void show() {
System.out.println("Name: " + name + ", Age: " + age);
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public static void main(String[] args) {
Person person = new Person("David", 10);
person.show();
}
}
在IDE中运行结果如下:
在上述代码中:
this关键字:
This代表其所在函数所属对象的的引用。
This代表本类对象的的引用。
什么时候使用this关键字?当在函数内需要用到调用该函数的对象时,就用this
Static关键字:
用于修饰成员(成员变量和成员函数)。
被修饰后的成员具有以下特点。
1.随着类的的加载而加载。
2.优先于对象存在。
3.被所有对象所共享。
4.可以直接被各类名调用。
使用注意:
1.静态方法只能范围静态成员。
2.静态方法中不可以写this,super关键字。
3.主函数是静态的。