一、类和对象的关系
类是一种抽象的数据类型,它是对某一类事物的整体描述/定义,但是并不能代表某一个具体的事物。
动物、植物、手机、电脑… Person类、Pet类 、Car类等,这些类都是用来描述/定义某一类具体事物应该具备的特点和行为 对象是抽象概念的具体实例
张三就是人的一个具体实例,张三家里的旺财就是狗的一个具体实例。 能够体现出特点,展现出功能的是具体的实例,而不是一个抽象的概念。
二、创建和初始化对象
使用new关键字创建对象 使用new关键字创建的时候,除了分配内存空间之外,还会给创建好的对象进行默认的初始化以及对类中构造器的调用 类中的构造器也称为构造方法,是在进行创建对象的时候必须要调用的。并且构造器有以下两个特点:
必须和类的名字相同 必须没有返回类型,也不能写void
package com. jacyzhu. oop. demo02 ;
public class Student {
String name;
int age;
public void study ( ) {
System . out. println ( this . name + "在学习" ) ;
}
}
package com. jacyzhu. oop. demo02 ;
public class Application {
public static void main ( String [ ] args) {
Student xiaoming = new Student ( ) ;
Student xiaohong = new Student ( ) ;
xiaoming. name = "小明" ;
xiaoming. age = 8 ;
System . out. println ( xiaoming. name) ;
System . out. println ( xiaoming. age) ;
xiaohong. name = "小红" ;
xiaohong. age = 8 ;
System . out. println ( xiaohong. name) ;
System . out. println ( xiaohong. age) ;
}
}
运行结果:
小明
8
小红
8
无参构造和有参构造
package com. jacyzhu. oop. demo02 ;
public class Person {
String name;
int age;
public Person ( ) {
}
public Person ( String name) {
this . name = name;
}
public Person ( String name, int age) {
this . name = name;
this . age = age;
}
}
package com. jacyzhu. oop. demo02 ;
public class Application {
public static void main ( String [ ] args) {
Person person = new Person ( "Jacy" , 26 ) ;
System . out. println ( person. name) ;
System . out. println ( person. age) ;
}
}
运行结果:
Jacy
26