您的位置:首页 > 职场人生

黑马程序员--封装--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>、期待与您交流! ----------


封装

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);

获取两个数中的最小值
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: