黑马程序员——Java基础---面向对象(封装、构造函数、this关键字)--第5天--第67-73集
来源:互联网 发布:关于淘宝规则的变更 编辑:程序博客网 时间:2024/04/29 02:08
第5天-第67-73集
学习视频下载地址http://blog.csdn.net/abc784990536/article/details/42041151
3.3、对象的封装
1、 概念
是指隐藏对象的属性和实现细节,仅对外提供公共访问方式。
2、 好处
a)将变化隔离。
b)便于使用。
c)提高重用性。
d)调高安全性。
3、 原则
a) 将不需要对外提供的内容都隐藏起来。
b) 把属性都隐藏,提供公共方法对其访问。
4、 封装的表现形式之一——private(私有)
private关键字:权限修饰符;用于修饰类中的成员(成员变量,成员函数);私有只在本类中有效。
常用之一:
将成员变量私有化,对外提供对应的set,get方法对其进行访问。提高对数据访问的安全性。
如:我有一个人对象,而年龄这一属性我不想被对象访问,我就可以将其设为private。
人物对象程序:
- class Person//描述人物对象的类
- {
- private int age;//人对象的年龄属性
- public void setAge(int a)//提供访问方法,并判断是否有效
- {
- if(a>0 && a<130)
- {
- age = a;
- speak();
- }
- else
- System.out.println("feifa age");
- }
- public int getAge()//提供获取方法
- {
- return age;
- }
- private void speak()//对象的说功能
- {
- System.out.println("age="+age);
- }
- }
- class PersonDemo
- {
- public static void main(String[] args)
- {
- Person p = new Person();//创建人物对象
- p.setAge(-40);//利用封装提供的访问方法进行修改年龄属性
- p.speak();
- }
- }
3.4、对象知识——构造函数
1、 特点:
a) 函数名与类名相同。
b) 不用定义返回值类型。
c) 不可以写return语句。
2、 作用:
给对象进行初始化。
3、构造函数的小细节:
当一个类中没有定义构造函数时,那么系统就会默认给该类加入一个空参数的构造函数。当在类中自定义了构造函数后,默认的构造函数就没有了。
4、构造函数和一般函数在写法上有不同。
在运行上也有不同:
构造函数式在对象一建立就运行,给对象初始化。而一般方法是对象调用才执行,给是对象添加对象具备的功能。一个对象建立,构造函数只运行一次。而一般方法可以被该对象调用多次。
5、什么时候定义构造函数?
当分析事物时,该事物存在具备一些特性或者行为,那么将这些内容定义在构造函数中。
6、构造代码块
作用:给对象进行初始化。对象一建立就运行,而且优先于构造函数运行。
和构造函数的区别:
构造代码块是给所以对象进行初始化。
而构造函数是给对应的对象初始化。
构造代码块中定义的是不同对象共性的初始化内容。
3.5、对象知识点——this关键字
先看一个小程序:
- class Person
- {
- private String name;
- private int age;
- Person(int age)//局部变量时age,成员变量也是age
- {
- this.age = age;//this能够很好区分
- }
- Person(String name)
- {
- this.name = name;//这里用this表示调用构造方法的对象
- }
- Person(String name,int age)
- {
- this.name = name;
- this.age = age;
- }
- public void speak()
- {
- System.out.println("name="+name+"...age="+age);
- show();
- }
- public void show()
- {
- System.out.println(this.name);
- }
- }
以上程序综合了构造函数和this的用法。看上去,是用于区分局部变量与成员变量同名情况。
this代表它所在函数所属对象的引用。
简单说:哪个对象在调用this所在的函数,this就代表哪个对象。
this的应用:
当定义类中功能时,该函数内部要用到调用该函数的对象时,这时用this来表示这个对象。
但凡本类功能内部使用到了本类对象,都用this表示。
this语句:
用于构造函数之间进行互相调用。如:this(name);
thi语句只能定义在构造函数的第一行。因为初始化要先执行。
对this的概括总结:
this的两种用法:1、用于区分同名变量的情况,说的成员和局部同名的时候;2、用于构造函数间调用。
注:一般函数不能直接调用构造函数,因为this语句不能用在一般函数中,只能用在构造函数间。
- 黑马程序员——Java基础---面向对象(封装、构造函数、this关键字)--第5天--第67-73集
- 黑马程序员——第5天——(面向对象)构造函数,构造代码块,this关键字
- 黑马程序员——>第五天<面向对象(匿名对象-封装-构造代码块-this关键字)>
- 黑马程序员——java第五天:面向对象(类、对象、变量、封装、构造、this)
- 黑马程序员---java基础第5天(构造代码块、this关键字、构造函数)
- 黑马程序员—Java面向对象(类和对象、封装、构造方法、this关键字、static关键字)
- 黑马程序员——Java基础---面向对象(static关键字)--第6天--第74-81集
- 黑马程序员——学习日志4面向对象(概念,类与对象,封装,构造函数,this关键字)
- 黑马程序员--03.Java面向对象--01.【OOP基本概念】【匿名对象】【封装】【构造函数】【this关键字】
- 黑马程序员 Java面向对象(封装,构造函数,this关键字,静态static)
- 黑马程序员-----java面向对象之封装、构造函数、this关键字、static静态总结*
- 黑马程序员-------- java面向对象 封装、构造函数、this static关键字、单例设计
- 黑马程序员——Java基础---面向对象(封装、构造函数)(2)
- 黑马程序员——Java语言基础:面向对象、封装(构造函数、设计模式)
- Java基础(面向对象一——理解、匿名函数、封装、构造函数和this关键字的使用)
- 黑马程序员——Java基础:面向对象、this关键字
- JAVA面向对象知识点总结(2)—封装、构造函数、构造代码块、this关键字
- 黑马程序员 Java基础<一>---> 面向对象与类之概述(匿名对象、封装、构造函数、this、静态等)
- oracle 11g backupgroud process and archtecture
- $(document).ready()、 $(function(){})、$().ready(function(){})和window.onload的区别
- 杭电acm1004
- [ExecuteInEditMode] 和 [RequireComponent(typeof(UIRoot))]理解
- JavaScript导出到word、excel !!!
- 黑马程序员——Java基础---面向对象(封装、构造函数、this关键字)--第5天--第67-73集
- 刚刚接手的一个项目要用oracle数据库。把一些SQL SERVER2005的表导入过去以后发现查询时有问题,比如登陆时的查询
- C++复习题
- poj 1562(Deposits)水题(八连通)
- POJ1061 青蛙的约会 扩展欧几里得
- webx小结
- linux svn服务器启动停止命令
- 【LeetCode】Maximum Depth of Binary Tree
- doctype(文档类型)的作用是什么?