day08
面向对象的基本特征
1,封装 2,继承 3,多态
一,封装
概念:狭义---属性的私有化
广义---方法(封装了一个功能,隐藏了方法体的实现代码)
---类(封装了一类事物的特征)
---组件(封装了一组类)
---系统(封装了一个完整的系统)
属性的私有化
(1)在属性声明前加private
(2)为私有属性提供公共的get/set方法(看情况),无特殊情况,一般都要提供标准的get/set
get:让使用者获取该属性的值
set:让使用者设置该属性的值,即赋值或修改
标准的get/set方法
public xxx的类型 getXxx(){
return xxx;
}
public void setXxx(xxx的类型 y){
xxx=y;
}
注:xxx标识属性名
权限修饰符
作用:限定某个类型成员的可访问范围,可见性范围
可修饰什么:
private:成员(属性、方法、构造器、内部类)
缺省:外部类、成员(属性、方法、构造器、内部类)
protected:成员(属性、方法、构造器、内部类)
public:外部类、成员(属性、方法、构造器、内部类)
注:当public修饰外部类时,类名必须与源文件名一致,即一个源文件只能有一个外部的public
return关键字:用于方法中
形式:(1)return;
只能用于返回值是void的方法中,可用可不用,当需要提前结束方法执行
(2)return 返回值;
只能用于返回值不是void的方法中,而且必须使用
作用:(1)结束当前方法(2)可以返回结果给调用者
类的第三个成员:构造器,又称构造方法
1,构造器的作用:
(1)和new一起用于创建对象 (2)在创建对象的同时,为属性初始化
2, 声明构造器:
【修饰符】 class 类名{
【修饰符】 类名(){
}
【修饰符】 类名(形参列表){
}
}
,3,构造器的特点:
(1)每一个类都有构造器, 如果没有手动声明构造器,那么编译将会自动添加一个无参构造器;
如果已经手动声明了构造器,那么编译就不会自动添加无参构造,如果你需要,自己编写;
(2)构造器可以重载 (3)构造器的名称必须与类名一致,并且没有返回值类型。
this关键字:当前对象
用法:
(1)this.属性
当成员变量与局部变量重名时,可以在成员变量的前面加"this."
(2)this.方法(..)
当访问当前对象的成员方法时,可以加"this.",也可以省略
(3)this()或this(实参列表)
当需要访问本类的其他构造器时,可以使用,必须在构造器的首行
例:
包
1, 包的作用:
(1)避免类的重名 (2)限定某些类、成员的可见范围 (3)组织管理类和资源文件
,2,包的声明格式
package 包名; 必须在源文件的代码首行;
3,包的命名规范和习惯:
(1)所有单词都小写,单词之间用.分割 (2)习惯用公司的域名倒置 + 模块名
,4, 如何使用其他包的类?前提:该类是在其他包是可见
(1)使用类的全名称,包.类名 (2)使用import语句先导包,然后在代码中就可以使用简名称
import 包.类名; import 包.*;