黑马程序员--封装--java
2015-08-08 01:34
465 查看
------- <a href="http://www.itheima.com" target="blank">android培训</a>、<a href="http://www.itheima.com" target="blank">java培训</a>、期待与您交流! ----------
一 封装的定义:
隐藏对象的属性及实现细节仅对外提供公共的访问方式(private 仅仅是封装的一种体现形式)
二 private 是什么,以及被他修饰的成员有什么变化
是一个关键字,表示私有的意思,它是一个访问权限修饰符,
它可以修饰成员变量以及成员方法,被他修饰的成员在其他类中不能直接访问.
02、封装的代码体现
一 如果在其他类中想访问用 private 修饰的成员变量怎么做?
在类中提供一个public 修饰的成员方法(一般如果是获取用get,如果是设置用set),返回的是 private 修饰成员变量
接下来调用这个公共的方法就可以得到私有的变量了
二 以后开发中标准代码写法
类中所有的成员变量都用 private 修饰.(上课为了讲课方便有时候是没有加私有的)
get和set不一定要成对儿出现.
get方法写法(需要有返回值类型,不需要传递参数)
set方法写法(不需要返回值类型 void ,要考虑形式参数位置需要传递什么类型的值)
*** 写一个方法的时候一定要明确写这个方法是要做什么操作(从而可以确定返回值类型,和参数列表)
03、构造方法概述和使用
一 构造方法格式及特点:
A:方法名要与类名一致
B:没有返回值类型
C:没有具体的返回值
二 构造方法的作用:
给对象进行初始化
三 给成员变量赋值
A:通过set方法给成员变量赋值(推荐使用set)
B:通过构造方法也可以对成员变量赋值
set方法它的存在就是为了给成员变量赋值
构造方法的存在主要目的是初始化对象(它可以捎带脚给成员变量赋值)
注意事项
A:如果你没有给出构造方法的话,系统会默认给出一个无参构造
B:假如你给出了构造方法,那么系统将不再提供默认构造方法(推荐永远手动给出构造方法)
C:构造方法也可以重载(其实就是参数列表不同)
04、this关键字的概述和应用
一 this 关键字代表谁?
哪个对象调用该方法, this 就代表调用这个方法的对象.
二 this的应用场景:
可以解决 成员变量和局部变量重名时,无法给成员变量赋值 的问题。
05、this关键字的标准代码写法
06、代码块儿的概述
A: 局部代码块
概念:把它定义在方法中
作用:可以让局部代码块中的数据尽可能早的消失,提高内存利用率.
B:构造代码块
概念:定义在类中方法外
作用:可以把构造方法中共性内容定义在构造代码块中.
07、对象的初始化过程
A:把Person.class文件加载到内存。(类加载器)
B:在栈内开辟一个变量空间。给P使用。
C:new Person()就会在堆内存开辟空间。
D:方法进方法区,有类名做标记。并且,
同时成员变量进堆内存并给出了默认初始化值。(name:null age:0 )
E:对成员变量进行显示初始化
F:如果有构造代码块,可以在构造代码块中对成员变量赋值。
G:执行构造方法中对成员变量的赋值。
H:到此为止,对象初始化完毕。
I:把堆内存对象的首地址值赋值给栈内存的p变量。
08、 static 关键字的特点
一 被 static 关键字修饰成员的特点
A:随着类的加载而加载
B:优先于对象而存在
D:可以直接用类名.成员变量名所调用
二 什么情况下使用静态呢?
如果某个内容是被该类下所有对象所共享的,就应该用 static 修饰
如果这个属性是这个类下每个对象特有的描述时 不能使用静态.
09、 static 的注意事项
A:在静态方法中是没有this关键字的(因为this关键字是创建对象的时候才存在的,而静态的方法是随着类的加载而加载的)
B:静态的方法只能调用静态的成员变量以及成员方法
C:静态修饰的成员变量以及成员方法可以使用类名调用(也可以使用对象调用,推荐使用类名调用)
10、不同java文件中类的方法的调用
A:类 ArraysDemo 工具类 B:类 ArrayTest 测试类
第一种:先编译A类然后在编译B类在使用
第二种:直接编译B类它自动编译A类 直接使用即可
11、Math类功能的使用
A:Math.abs(参数类型 形式参数)
绝对值
B:Math.ceil(-18.8); //18.0
向上取整
C:Math.floor(12.3);//12.0
向下取整
D:Math.round(12.6);//13.00
四舍五入
E:Math.random();
获取随机数
F:Math.max(12,53);
获取两个数中的最大值
G:Math.min(11,66);
获取两个数中的最小值
封装
01、封装之Private一 封装的定义:
隐藏对象的属性及实现细节仅对外提供公共的访问方式(private 仅仅是封装的一种体现形式)
二 private 是什么,以及被他修饰的成员有什么变化
是一个关键字,表示私有的意思,它是一个访问权限修饰符,
它可以修饰成员变量以及成员方法,被他修饰的成员在其他类中不能直接访问.
02、封装的代码体现
一 如果在其他类中想访问用 private 修饰的成员变量怎么做?
在类中提供一个public 修饰的成员方法(一般如果是获取用get,如果是设置用set),返回的是 private 修饰成员变量
接下来调用这个公共的方法就可以得到私有的变量了
二 以后开发中标准代码写法
类中所有的成员变量都用 private 修饰.(上课为了讲课方便有时候是没有加私有的)
get和set不一定要成对儿出现.
get方法写法(需要有返回值类型,不需要传递参数)
set方法写法(不需要返回值类型 void ,要考虑形式参数位置需要传递什么类型的值)
*** 写一个方法的时候一定要明确写这个方法是要做什么操作(从而可以确定返回值类型,和参数列表)
03、构造方法概述和使用
一 构造方法格式及特点:
A:方法名要与类名一致
B:没有返回值类型
C:没有具体的返回值
二 构造方法的作用:
给对象进行初始化
三 给成员变量赋值
A:通过set方法给成员变量赋值(推荐使用set)
B:通过构造方法也可以对成员变量赋值
set方法它的存在就是为了给成员变量赋值
构造方法的存在主要目的是初始化对象(它可以捎带脚给成员变量赋值)
注意事项
A:如果你没有给出构造方法的话,系统会默认给出一个无参构造
B:假如你给出了构造方法,那么系统将不再提供默认构造方法(推荐永远手动给出构造方法)
C:构造方法也可以重载(其实就是参数列表不同)
04、this关键字的概述和应用
一 this 关键字代表谁?
哪个对象调用该方法, this 就代表调用这个方法的对象.
二 this的应用场景:
可以解决 成员变量和局部变量重名时,无法给成员变量赋值 的问题。
05、this关键字的标准代码写法
private String name; private int age; public Dog(String name,int age) { this.name = name; this.age = age; } public void setName(String name) { this.name = name; } public String getName() { return name; }
06、代码块儿的概述
A: 局部代码块
概念:把它定义在方法中
作用:可以让局部代码块中的数据尽可能早的消失,提高内存利用率.
B:构造代码块
概念:定义在类中方法外
作用:可以把构造方法中共性内容定义在构造代码块中.
07、对象的初始化过程
A:把Person.class文件加载到内存。(类加载器)
B:在栈内开辟一个变量空间。给P使用。
C:new Person()就会在堆内存开辟空间。
D:方法进方法区,有类名做标记。并且,
同时成员变量进堆内存并给出了默认初始化值。(name:null age:0 )
E:对成员变量进行显示初始化
F:如果有构造代码块,可以在构造代码块中对成员变量赋值。
G:执行构造方法中对成员变量的赋值。
H:到此为止,对象初始化完毕。
I:把堆内存对象的首地址值赋值给栈内存的p变量。
08、 static 关键字的特点
一 被 static 关键字修饰成员的特点
A:随着类的加载而加载
B:优先于对象而存在
D:可以直接用类名.成员变量名所调用
二 什么情况下使用静态呢?
如果某个内容是被该类下所有对象所共享的,就应该用 static 修饰
如果这个属性是这个类下每个对象特有的描述时 不能使用静态.
09、 static 的注意事项
A:在静态方法中是没有this关键字的(因为this关键字是创建对象的时候才存在的,而静态的方法是随着类的加载而加载的)
B:静态的方法只能调用静态的成员变量以及成员方法
C:静态修饰的成员变量以及成员方法可以使用类名调用(也可以使用对象调用,推荐使用类名调用)
10、不同java文件中类的方法的调用
A:类 ArraysDemo 工具类 B:类 ArrayTest 测试类
第一种:先编译A类然后在编译B类在使用
第二种:直接编译B类它自动编译A类 直接使用即可
11、Math类功能的使用
A:Math.abs(参数类型 形式参数)
绝对值
B:Math.ceil(-18.8); //18.0
向上取整
C:Math.floor(12.3);//12.0
向下取整
D:Math.round(12.6);//13.00
四舍五入
E:Math.random();
获取随机数
F:Math.max(12,53);
获取两个数中的最大值
G:Math.min(11,66);
获取两个数中的最小值
相关文章推荐
- 黑马程序员--IO流File类总结--java
- 黑 4000 马程序员--异常总结--java
- 《高效程序员的45个习惯》读书笔记
- 黑马程序员--IO流总结--java
- 黑马程序员--多线程总结2--java
- 程序员如何解决项目中”拖延症“?
- 黑马程序员————Java基础之继承
- 程序员必须知道的10大基础实用算法及其讲解
- 黑马程序员--反射总结--java
- 黑马程序员--IO流中使用字节流复制文件的效率比较
- 黑马程序员——————java基础之Io二
- 推荐!国外程序员整理的机器学习资源大全
- 黑马程序员--集合Set总结--java
- 剑指offer面试题19——二叉树的镜像
- 黑马程序员---OC基础补充---补充:copy与mutableCopy、单例模式
- 黑马程序员————java基础之Io一
- (Java面试之知识点串烧)
- 黑马程序员——Java基础——命名规则、标识符、关键字和运算符
- 请大胆的和你职业相关的人保持沟通
- 剑指Offer面试题28(java版):字符串的排列