面向对象基础部分之【类与对象】(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)方法区:包含常量池(常量,如字符串等),类加载信息

相关文章
|
缓存 网络协议 Java
Java面向对象编程(40)
Java面向对象编程(40)
60 0
|
Java
Java面向对象编程(9)
Java面向对象编程(9)
30 0
|
网络协议 Java 网络架构
Java面向对象编程(45)
Java面向对象编程(45)
37 0
|
域名解析 网络协议 Java
Java面向对象编程(42)
Java面向对象编程(42)
54 0
|
6月前
|
Java 物联网 测试技术
Java面向对象程序设计3面向对象基础
Java面向对象程序设计3面向对象基础
331 0
|
5月前
|
Java 开发者
Java面向对象编程(OOP)的四个主要概念
【6月更文挑战第19天】Java OOP的基石是封装、抽象、继承和多态。封装是通过类隐藏数据细节;抽象简化复杂性,用接口和抽象类实现;继承让子类从父类继承属性和行为,促进代码重用;多态一个接口可有多种形态,分编译时和运行时。这些概念支持灵活且可扩展的软件设计。
46 1
|
6月前
|
设计模式 Java 数据库连接
Java面向对象编程详解
Java面向对象编程详解
|
网络协议 Java 网络性能优化
Java面向对象编程(38)
Java面向对象编程(38)
37 0
|
6月前
|
存储 数据安全/隐私保护 C++
基于C++的面向对象程序设计:类与对象的深入剖析
基于C++的面向对象程序设计:类与对象的深入剖析
76 1
|
6月前
|
设计模式 Java 数据安全/隐私保护
Java面向对象程序设计
Java面向对象程序设计
33 0