对象
对象
类与对象的关系
- 类是一种抽象的数据类型,它是对某一类事物整体描述/定义,但是并不能代表某一个具体的事物.
- 动物、植物、手机、电脑....
- Person类、Pet类、Car类等,这些类都是用来描述/定义某一类具体的事物应该具备的特点和行为
- 对象是抽象概念的具体实例
- 张三就是人的一个具体实例,张三家里的旺财就是狗的一个具体实例。
- 能够体现出特点,展现出功能的是具体的实例,而不是一个抽象的概念.
创建与初始化对象
- 使用new关键字创建对象
- 使用new关键字创建的时候,除了分配内存空间之外,还会给创建好的对象进行默认的初始化以及对类中构造器的调用。
- 类中的构造器也称为构造方法,是在进行创建对象的时候必须要调用的。并且构造器有以下俩个特点;
- 1.必须和类的名字相同
- 2.必须没有返回类型,也不能写void
- 构造器必须要掌握
package com.oop.demo01;
//学生类
public class Student {
//属性:字段
String name;
int age;
//方法
public void study(){
System.out.println(this.name+"在学习");
}
}
============================================
package com.oop.demo01;
//一个项目应该只存在一个main方法
public class Applicatiion {
public static void main(String[] args) {
//类:抽象的,实例化
//类实例化之后会返回一个自己的对象
//对象xiaoming就是一个Student类的具体实例
Student xiaoming = new Student();
Student xh = new Student();
xiaoming.name="xiaoming";
xiaoming.age=5;
System.out.println(xiaoming.name);//xiaoming
System.out.println(xiaoming.age);//5
System.out.println(xh.name);//null
System.out.println(xh.age);//0
}
}
package com.oop.demo01;
public class Person {
//一个类即使什么都不写,它也会存在一个方法
//显示的定义构造器
String name;
int age;
//实例化初始值
//1.使用new关键字,本质是在调用构造器
//2.用来初始化值
public Person(){//无参构造
this.name="qinjiang";
}
//有参构造:一旦定义了有参构造,无参构造就必须显示定义
public Person(String name){
this.name=name;//前面的name代表当前类的,后面代表参数传进来的值(String name)
}
}
/*
public static void main(String[] args) {
//实例化了一个对象
Person person = new Person("kuangshan");
System.out.println(person.name);
}
构造器
1.和类名相同
2.没有返回值
作用
1.new本质是在调用构造方法
2.初始化对象值
注意点
定义有参构造后,如果想使用无参构造,显示的定义一个无参的构造
Alt+Insert
*/
创建对象内存分析
- 注意:方法区也在堆中
package com.oop.demo01;
import com.oop.demo03.Pet;
//一个项目应该只存在一个main方法
public class Applicatiion {
public static void main(String[] args) {
Pet dog = new Pet();
dog.name="旺财";
dog.age=3;//'age' 在 'com.oop.demo03.Pet' 中不为 public。无法从外部软件包访问
dog.shout();//叫了一首
System.out.println(dog.name);//旺财
System.out.println(dog.age);//3
Pet cat = new Pet();
cat.shout();//叫了一首
System.out.println(cat.name);//null
System.out.println(cat.age);//0
}
}
============================
package com.oop.demo03;
public class Pet {
public String name;
public int age;
public void shout(){
System.out.println("叫了一首");
}
}
1.类与对象
类是一个模板(抽象),对象是一个具体的实例
2.方法
定义、调用!
3.对应的引用
引用类型:基本类型(8)(byte short int long float double boolean char)
对象是通过引用来操作的:栈---》堆
4.属性:字段Field 成员变量
默认初始化:
- 数字:0.0
- char : u0000
- boolean:false
- 引用: null
修饰符 属性类型 属性名=属性值!
5.对象的创建和使用
- 必须使用new关键字创造对象,构造器 Person kuangshen = new Person( );
- 对象的属性 kuangshen.name
- 对象的方法 kuangshen.sleep()
-
类:
静态的属性: 属性动态的行为: 方法
I
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?