类与对象的关系
- 类是一种抽象的数据类型,它是对某一类事物整体描述或者定义,但是并不代表某一个具体的事物
- 动物,植物 ,手机,电脑
- person类,pet类,car类等,这些类都是用来描述或者定义某一类具的事物应该具备的特点和行为
- 对象是抽象概念的具体实例
- 张三就是人的一个具体实例,张三家的狗也是一个具体的实例
- 能够体现出特展现出功能的具体实例,而不是一个抽象概念
创建与初始化对象
- 使用new关键字创建对象
- 使用new关键字创建的时候,除了分配内存控制之外,还会给创建好的对象进行默认的初始化以及对类中的构造器进行调用
- 类中的构造器也称为构造方法,是在进行创建对象的时候必须要调用。并且构造器有以下特点
- 必须和类的名字相同
- 必须没有返回类型,也不能写void
//学生类 从现在开进入每个类中不先写main函数(方法)
public class Student {
// 类中就是一些,类的 属性:字段
String name;
int age;
// 一个类里只能用属性和方法
public void say(){
System.out.println(this.name+"学生说话了");
}
}
public class demo04 {
//类:抽象的,实例化
//类实例化后会返回一个自己的对象!
//students对象就是一个students类的具体实例!
public static void main(String[] args) {
Students xiaoMing=new Students();
Students xiaoHong=new Students();
xiaoMing.name="小明";
xiaoMing.age=3;
System.out.println(xiaoMing.name);//小明
System.out.println(xiaoMing.age);//3
System.out.println(xiaoHong.name);//null
System.out.println(xiaoHong.age);//0
}
}
构造器
public class Person {
//一个类即使什么都不写也会存在一个构造器,也会存在一方法
// 显示的定义一个构造器
//什么是构造器,是指公共的和类名一样的方法
String name;
int age;
//实例化
//1.使用new关键字,本质是在调用构造器,也就是构造方法
//2.用来初始化值
//快捷键 alt +insert生成构造器
/* public Person(){
this.name="spo";
}
public Person(String name){
this.name=name;//this后面的name是 String name;
//第二个name是构造器中的形参,一旦定义了有参构造,就要显示定义无参gouz
} */
public Person(String name) {
this.name = name;
}
public Person() {
}
public Person(String name, int age) {
this.name = name;
this.age = age;
}
}
构造器:
1.和类名相同
2.没有返回值
作用:
1.new 本质是在调用方法
2.初始化对象的值
注意点:
1定义有参构造之后,如果想使用无参构造,显示的定义一个无参构造