Java基础(4)----类与对象
2020-04-23 11:26
330 查看
面向对象
面向对象:强调的是对象—实体(c++,java,c#)
面向过程:强调的是动作—功能 (C语言)
面向对象的特点:
- 面向对象是一种常见的思想,符合人们的思考习惯
- 面向对象的出现,将复杂的问题简单化
- 面向对象的出现,让曾经在过程中的执行者,变成了对象的指挥者
面向对象的三个主要特征:
- 封装性:内部的操作对外部而言不可见
- 继承性:在已有结构的基础上继续进行功能的扩充
- 多态性:在继承性的基础上扩充而来的概念,指的是类型的转换处理
类与对象的关系:
类:用Java语言对现实生活中的事物进行描述,对于事物描述通常只关注两方面:1.属性 2:行为,只要明确该事物的属性和行为并定义在类中即可。(事物的描述)
对象:该类事物实实在在存在的个体(事物的实例)
成员变量和局部变量的区别:
- 成员变量定义在类中,整个类都可以访问;局部变量定义在函数,语句,代码块中,只有所属区域有效
- 成员变量存在堆内存的对象中;局部变量尊在栈内存的方法中
- 成员变量随着对象的创建而存在,随着对象的小时而消失;局部变量随着所属区域的执行而存在,随着所属区域的结束而释放
- 成员变量都有默认初始化值;局部变量没有默认初始化值
对象内存分析
首先,先创建一个Person类,然后再main方法中实例化对象,并给name,age属性赋值;
class Person{ String name; int age; public void tell(){ System.out.println("姓名"+name+",年龄"+age); } } public class Demo{ public static void main(String args[]){ Person per=new Person; //声明并实例化 per.name="张三"; per.age=18; } }
分析步骤:
- 通过new开辟一块新的对内存空间
- 在开辟的堆内存中存放对象信息
- 将对象地址存放在栈内存中
- 通过栈中的地址找到堆中对应的对象修改数据内容
匿名对象:
没有名字的对象;当对象对方法仅进行一次调用的时候,就可以简写成匿名对象;
格式:new 类名();==> new Person();
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- Java多线程编程基础之线程对象
- JAVA对象序列化基础
- Java 面向对象程序设计的基础知识
- java基础学习---java对象序列化基础知识
- [零基础学JAVA]Java SE面向对象部分-12.面向对象基础(07) 推荐
- 第2章 Java编程基础——FAQ2.22 创建String对象时, 使用String s=new String (“abc”)和String s=“abc”语句有什么区别?
- Java基础4_面向对象下2
- Java多线程编程基础之线程对象
- 理解Java面向对象的程序设计思想-Java基础-Java-编程开发
- [零基础学JAVA]Java SE面向对象部分-14.面向对象高级(02) 推荐
- 初学Java---面向对象基础1
- Java基础三: 枚举高级应用(向枚举值对象中添加变量和方法)
- 学习笔记6—Java基础4_面向对象下b
- java script(对象基础)
- 第一阶段:Java初级 ------- 面向对象基础
- JAVA程序员必读:基础篇(3.a)对象和简单数据对象
- 深入探索CORBA对象生命周期之慨述-Java基础-Java-编程开发
- 打破Java定律:无需创建对象--Ioc容器革命-Java基础-Java-编程开发
- [零基础学JAVA]Java SE面向对象部分-08.面向对象基础(03)
- [零基础学JAVA]Java SE面向对象部分-15.面向对象高级(03) 推荐