面向对象
封装和隐藏
-
体现
我们将类属性私有化(private),同时提供公共的(public)方法来获取(getXxx)和设置此属性的值
不对外暴露私有的方法
单例模式
-
Java权限规定
修饰符 类内部 同一个包 不同包的子类 同一个工程 private Yes \ \ \ default(缺省) Yes Yes \ \ protected Yes Yes Yes \ public Yes Yes Yes Yes 用来修饰类的内部结构:属性、方法、构造器、内部类
修饰类 -> default(缺省)、public
构造器(构造方法)
construct:建设、建造
construction:CCB
constructor:建设者
作用:
- 创建对象
public class PersonTest{
public static void main(String[] args){
// 创建类的对象:new+构造器
Person p = new Person();
p.eat();
}
}
12345678
PS:
- 如果没有显式定义类的构造器的话,系统会自动提供一个参数为空的构造器
- 定义构造器的格式 ->
权限修饰符 类名(形参列表){}
- 一个类中定义多个构造器,彼此会构成重载
- 一旦显示定义类的构造器,编译器提供的默认空参构造器会被替换
- 一个类中至少有个一构造器,默认为空参
JavaBean
符合条件:
- 类是公共的
- 有一个无参的公共的构造器
- 有属性,且有对应的get、set方法
this的使用
调用属性、方法
class Person{
private String name;
public String setName(String name){
// 这种情况下,下面两个name都为形参name
name = name;
// 这时候需要使用this指定当前对象,指向属性 private String name
this.name = name;
}
}
this可以修饰属性、方法、构造器
调用构造器
可以调用class里指定的构造器(不能调用自己本身),可适用重载
package、import的使用
- 为了更好实现项目中类的管理,提供包装的概念
- 使用package声明类或接口所属的包、声明在源文件的首行
- 包 属于标识符,遵循标识符的命名规则
同一个包下,不能命名同名的接口或者类
MVC设计模式
MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中
import关键字的使用
- 在源文件中显式使用import结构导入指定包下的类、接口
- 声明在包的声明与类的声明之间
- 如果需要导入多个结构,可以并列
- 可以使用
xxx.*
,表示导入xxx的所有结构 - 如果使用的类或者接口是java.lang定义或在同一包下的可以省略import
- 在源文件使用不同包下的同名类。则必须至少有一个类需要以全名类的方式显示
xxx.xx
表示在xxx中导入xx
继承性
继承但无法访问private(私有)
好处
- 减少了代码冗余,提高代码的复用性
- 便于功能的扩展
- 为之后的多态性的使用,提供了平台
- 可以调用父类的属性和方法
格式
class