类与对象的关系
- 类是一种抽象的数据类型,它是对某一类事物整体描述/定义,但是并不能代表某一个具体的事物。
- 动物、植物、手机、电脑…
- Person类、Pet类、Car类等,这些类都是用来描述/定义某一类具体的事物应该具备的特点和行为
- 对象是抽象概念的具体实例
- 张三就是人的一个具体实例,张三家里的旺财就是狗的一个具体实例。
- 能够体现出特点,展现出功能的是具体的实例,而不是一个抽象的概念。
创建与初始化对象
- 使用new关键字创建对象
- 使用new关键字创建的时候,除了分配内存空间之外,还会给创建好的对象进行默认的初始化以及对类中构造器的调用
- 类中的构造器也称为构造方法,是在进行创建对象的时候必须要调用的。并且构造器有以下两个特点:
-
- 必须和类的名字相同
- 必须没有返回值,也不能些void
-
类
package opp.demo02;
//学生类
public class Student {
//属性:字段
String name;//null,没有赋值前
int age;//0,没有赋值前
//方法
public void study(){
System.out.println(this.name+"在学习");// this 代表当前这个类
}
}
对象
package opp.demo02;
//一个现目一个只存在一个main方法
public class Application {
public static void main(String[] args) {
//类:抽象的,需要实例化
//类实例化后会返回一个自己的对象
//peter对象就是一个Student 类的具体实例!
Student peter = new Student();
Student Isa = new Student();
peter.name = "周骏腾";
peter.age = 20;
Isa.name = "laiyuying";
Isa.age = 19;
System.out.println(peter.name);
System.out.println(peter.age);
System.out.println(Isa.name);
System.out.println(Isa.age);
}
}
构造器
无参
package opp.demo02;
//Java....>class
public class Person {
//一个类即使什么都不写,它也会存在一个方法
//显示的定义构造器
String name;
//实例化初始值
//1. 使用new关键字的时候,本质是在调用构造器
//2. 用来初始化值
public Person(){
this.name = "Peter zhou";
}
package opp.demo02;
//一个现目一个只存在一个main方法
public class Application {
public static void main(String[] args) {
//new 实例化了一个对象
Person person = new Person();
System.out.println(person.name);
}
}
有参
package opp.demo02;
//Java....>class
public class Person {
//一个类即使什么都不写,它也会存在一个方法
//显示的定义构造器
String name;
public Person() {//alt + insert ---> Constructor--> select none。 生成无参
}
public Person(String name) {//alt + insert --->Constructor. 默认生成有有参
this.name = name;
}
//alt + insert
}
/*
public static void main(String[] args) {
//new 实例化了一个对象
Person person = new Person("Zhoujunteng");//后面有了参数,然后就会去对应寻找有class里面有参的
System.out.println(person.name);
}
构造器
1.和类名相同
2.没有返回值
作用:
1.new 本质在调用构造器
2. 初始化对象的值
注意点:
1.定义了有参构造之后:如果想使用无参构造,显示的定义一个无参构造
Alt + insert
this. =
*/
package opp.demo02;
//一个现目一个只存在一个main方法
public class Application {
public static void main(String[] args) {
//new 实例化了一个对象
Person person = new Person("Zhoujunteng");//后面有了参数,然后就会去对应寻找有class里面有参的
System.out.println(person.name);
}
}
总结
-
类于对象
类是一个模板:抽象。 对象是一个具体的实例
-
方法
定义。调用!
-
对应的引用
引用类型: 基本类型(8)
对象是通过引用来操作的:栈–>堆
-
属性:字段Field 成员变量
默认初始化:
数字: 0 or 0.0
char : u0000
boolean: false
引用: null
赋值:
修饰符 属性类别 属性名= 属性值;
-
对象的创建和使用
- 必须使用new 关键字来创造对象,构造器 Person peter =new Person();
- 对象的属性 peter.name
- 对象的方法 perter.sleep()
-
类:
静态的属性 属性
动态的行为 方法
-