面向对象基础部分之【类与对象】(2)

简介: 继续学习类与对象

前言

继续学习类与对象

类与对象的区别和联系

1)类是抽象的,概念的,代表一类事物,比如人类,猫类.., 即它是数据类型.

2)  对象是具体的,实际的,代表一个具体事物, 即 是实例.

3)  类是对象的模板,对象是类的一个个体,对应一个实例

成员方法/属性 中的细节

1)从叫法上来看,属性 = 成员变量

2)属性的定义类型可以为任意类型,包含基本类型和引用类型

3)属性是类的一个组成部分,一般为基本数据类型

4)属性如果不赋值,则默认值和数组一致

5)属性的定义方法与变量相同。如:访问修饰符 数据类型 属性名;

如何创建对象

创建对象有两种方法,一种是先声明在创建,一种是直接创建

1)先声明后创建

Catcat1; // 声明对象 cat1cat1=newCat(); // 创建对象 cat1

2)直接创建对象

Catcat1=newCat(); // 直接创建对象

一般我们都会使用第二种直接创建对象的方法创建对象,但并不能说第一种方法没用,有的情况下我们也需要使用第一种方法进行创建对象。

如何访问属性

访问属性的基本语法为:

对象名.属性名;

如: cat.name;        cat.age;

类与对象的内存分配机制(重要)

看看下一段代码,思考结果是什么

publicclassObject02 {
publicsttaicvoidmain(String[] args) {
Personp1=newPerson();
p1.name="周小末";
p1.age=18;
Personp2=p1; //p1 指向 p2System.out.println(p2.name+p2.age);
    }
}
classPerson {
Stringname;
intage;
}

可以看出,把 p1 赋给 p2 (让p1指向p2)后,p1 和 p2 指向了同一个内存空间,所以输出p2中的name和age就是周小末 18。

这里就要和小伙伴们说一下Java内存的结构分析了😋

1)栈:一般存放基本数据类型,也就是局部变量

2)堆:堆主要存放对象(Cat cat1 ,数组等)

3)方法区:包含常量池(常量,如字符串等),类加载信息

相关文章
|
8月前
|
Java 物联网 测试技术
Java面向对象程序设计3面向对象基础
Java面向对象程序设计3面向对象基础
352 0
|
3月前
|
存储 编译器 C语言
【C++】初识面向对象:类与对象详解
【C++】初识面向对象:类与对象详解
|
7月前
|
Java 开发者
Java面向对象编程(OOP)的四个主要概念
【6月更文挑战第19天】Java OOP的基石是封装、抽象、继承和多态。封装是通过类隐藏数据细节;抽象简化复杂性,用接口和抽象类实现;继承让子类从父类继承属性和行为,促进代码重用;多态一个接口可有多种形态,分编译时和运行时。这些概念支持灵活且可扩展的软件设计。
60 1
|
8月前
|
Java
类与对象:Java面向对象编程的基石
类与对象:Java面向对象编程的基石
|
8月前
|
Java 程序员 数据安全/隐私保护
Java面向对象编程:类和对象详解
Java面向对象编程:类和对象详解
66 0
|
8月前
|
存储 数据安全/隐私保护 C++
基于C++的面向对象程序设计:类与对象的深入剖析
基于C++的面向对象程序设计:类与对象的深入剖析
86 1
|
8月前
|
关系型数据库
编程思想 - 面向对象编程和面向过程编程的区别理解
编程思想 - 面向对象编程和面向过程编程的区别理解
78 0
|
编译器 C++
【C++】类与对象 III 【 深入浅出理解 类与对象 】
【C++】类与对象 III 【 深入浅出理解 类与对象 】
64 0
探秘面向对象编程:封装、继承、多态的精髓与实践
探秘面向对象编程:封装、继承、多态的精髓与实践
104 0
|
设计模式 前端开发 安全
【Java设计模式 面向对象设计思想】二 再谈面向对象和面向过程
【Java设计模式 面向对象设计思想】二 再谈面向对象和面向过程
102 0