Java学习 (22) 对象篇(02)类与对象
类与对象
类与对象的关系
类是一种抽象的数据类型,它是对某一类事物整体描述/定义,但是并不能代表某一个具体的事物.
-
动物(猫、狗)、植物(花、草)、手机(安卓、苹果)、电脑(联想、华硕)、....
-
Person类、Pet类、Car类等,这些类都是用来描述/定义某一类具体的事物应该具备的特点和行为
对象是抽象概念的具体实例
- 张三就是人的一个具体实例,张三家里的旺财就是狗的一个具体实例。
- 能够体现出特点,展现出功能的是具体的实例,而不是一个抽象的概念.
创建和初始化对象
-
使用new关键字创建对象
-
使用new关键字创建的时候,除了分配内存空间之外,还会给创建好的对象进行默认的初始化以及对类中构造器的调用
-
类中的构造器也称为构造方法,是在进行创建对象的时候必须要调用的。并且构造器有以下俩个特点:
-
必须和类的名字相同
-
必须没有返回类型,也不能写void
-
-
构诰器必须要掌握
语法实例
public class Student {
//属性
String name;
int age;
//方法
public void study(){
System.out.println(this.name+"学生在学习");
}
}
public class Application {
public static void main(String[] args) {
//类:抽象的,实例化
//类实例化后会返回一个自己的对象!
//student对象就是一个Student类的具体实例!
Student xiaofeng = new Student();
Student xiaoye = new Student();
xiaofeng.name = "小枫";
xiaofeng.age = 4;
System.out.println(xiaofeng.name);
System.out.println(xiaofeng.age);
xiaoye.name = "小叶";
xiaoye.age = 4;
System.out.println(xiaoye.name);
System.out.println(xiaoye.age);
}
}
/*run:
小枫
4
小叶
4
*/
构造器
特点
- 必须和类名相同
- 没有返回值
- 定义有参构造之后,如果想使用无参构造,还得定义显示一个无参构造
作用
- new本质在调用构造方法
- 初始化对象的值
public class Person {
String name;
int age;
//一个类默认有一个构造器(构造方法),即使不写
// 1.使用new关键字,必须要有构造器
// 2.用来初始化值
public Person(){}//无参构造
////有参构造:一旦定义了有参构造,无参就必须显示定义
public Person(String name,int age) {
this.name = name;
this.age = age;
}
}
public static void main(String[] args) {
//new实例化对象
//新版IDEA似乎可以只有有参构造,new的时候带相应类型参数就行
Person person = new Person("fengye",22);
System.out.println(person.name);
System.out.println(person.age);
}
/*run:
fnegye
22
*/