Java基础:面向对象(1)--对象的概念、成员变量与局部变量、匿名对象、类的封装
来源:互联网 发布:linux查找rpm包位置 编辑:程序博客网 时间:2024/05/17 09:12
一.对象和类的概念
对象:真实存在的唯一事物
类:同一事物的公共属性与行为的抽取
面向对象的核心思想:找适合的对象做适合的事情
找对象的方式:
1.自定义类,然后创建对象2.使用sun给我们提供的类创建对象3.在java的世界中,是先有类后有对象的
如何自定义类创建对象?
1.自定义类 格式: class 类名 {}2.通过自定义创建对象 格式: 类名 变量名 = new 类名();
如何访问对象的属性或者调用对象的方法?
1.访问对象的属性: 格式: 对象名.属性名2. 调用对象的方法: 格式: 对象名.方法名();
二、成员变量和局部变量的区别
定义的位置上区别:
成员变量定义在方法之外,类之内的。局部变量是定义在方法内部
作用上的区别:
成员变量用于描述一类事物的公共属性局部变量只是提供一个变量给方法内部使用而已
生命周期的区别:
成员变量是随着对象的创建而存在“堆”内存中的,随对象的消失而消失。局部变量是执行了对应的方法创建局部变量语句的时候在“栈”内存中存在的,局部变量一旦出了自己的作用域,那么就会马上从内存中消失。
初始值的区别:
成员变量都有默认的初始值,因此可以不用赋初值就可以使用了;局部变量是没有默认初始值的,必须要经过赋初值才能使用成员变量默认初始值如下: byte、short、int : 0; long:0L float:0.0f double:0.0 char:'' String:null
三、匿名对象
什么是匿名对象
就是没有引用类型变量指向的对象就是匿名对象
匿名对象的格式
new 类名();
匿名对象要注意的事项:
1.一般不能给匿名对象赋予属性值,因为永远都无法获取到2.两个匿名对象永远都不可以能是同一个对象,因为只要遇到new关键字创建的对象,它都是一个新的对象3.匿名对象的出现只是为了简化书写
匿名对象有什么用?
1.如果只调用该对象的方法只是一次而已就不再使用了,那么就可以使用匿名对象简化书写。2.作为实参传递,调用另一个方法
四、类的封装
为什么要封装
为了解决数据在访问的时候出现安全隐患
两个常用的权限修饰符
1.public:公用的,使用public修饰的成员属性任何人都可以直接访问
封装的步骤
1.使用private修饰需要被封装起来的属性2.提供公共的方法设置或者获取封装起来的成员属性3.公共的方法的命名规范: public void setXxx(参数列表){ } public 返回值类型 getXxx( ){ }
对于封装起来的属性,一定要对外提供get和set方法吗?
封装不一定要提供get或者set方法,这是要看需求而定的。命名也不是一定要使用set和get,这只是一种习惯而已。自要符合标识符的命名规范即可。
封装的好处
1.解决了数据的安全问题2.操作简单3.隐藏实现
0 0
- Java基础:面向对象(1)--对象的概念、成员变量与局部变量、匿名对象、类的封装
- Java基础05:面向对象;类与对象;匿名对象;成员变量;局部变量;封装;构造函数
- JAVA基础再回首(四)——面向对象思想、类与对象、成员/局部变量、匿名对象、封装、private、this、构造方法
- 黑马程序员------面向对象(No.1)(面向对象的理解、成员变量、局部变量、匿名对象)
- 局部变量与成员变量的区别、匿名对象
- 面向对象-成员变量、局部变量-封装
- java语言基础(21)——面向对象(成员变量和局部变量的区别)
- Java基础-07.总结private,this,封装,static,成员方法变量,局部变量匿名对象
- java基础七(成员变量 局部变量 匿名对象 封装 设计原则 private this 构造方法 static)
- Java语言基础{Java_se(05)}-面向对象-封装-构造方法-成员变量,局部变量
- Java 笔记 及 面向对象 成员变量与局部变量的区别 面向对象3大特征:这里只写了封装,构造函数 .this关键字
- 7. 面向对象 -- 成员与局部变量和封装
- java基础(五)面向对象/类/对象/形式参数/局部和成员变量
- Java基础知识_day07_(面向对象,构造方法,封装,成员变量与局部变量)
- java学习日记_14:面向对象之成员变量与局部变量的区别。
- 类与对象的关系 局部变量 成员变量
- 面向对象、匿名对象、成员、封装、主函数、成员变量、局部变量、构造函数、this、静态、主函数
- java面向对象(成员变量和局部变量)
- echarts如何让坐标轴的数据显示完全
- linux下普通文件和目录文件区别
- Tkinter(python-GUI)
- redis集群搭建
- 工厂方法模式
- Java基础:面向对象(1)--对象的概念、成员变量与局部变量、匿名对象、类的封装
- Flask-自定义头像
- Mac 最新cocoapods安装流程
- 使用danmuplayer.js插件实现Java web网站视频发弹幕
- Android OpenGL使用GLSurfaceView预览视频
- Android 一个Activity的生命周期
- Viewpage使用
- 【Oracle】表追加字段
- A review of moving object trajectory clustering algorithms-阅读笔记