java基础学习(十八)
文章目录
- 4-7 面向对象特征之一:封装与隐藏
- 封装和隐藏的概念
- 信息的封装和隐藏
- 四种访问权限修饰符
- 4-8 类的成员之三:构造器(或构造方法)
- 构造器的概念
- 构造器的语法格式
- 构造器类型
- 4-8总结:属性赋值过程
- 属性赋值过程
- JavaBean
4-7 面向对象特征之一:封装与隐藏
封装和隐藏的概念
- 封装的作用和含义
- 我们程序设计追求“高内聚,低耦合”。
- 隐藏对象内部的复杂性,只对外公开简单的接口。便于外界调用,从而提
高系统的可扩展性、可维护性。通俗的说,把该隐藏的隐藏起来,该暴露
的暴露出来。这就是封装性的设计思想。
例题
class Animal {public int legs;public void eat(){System.out.println("Eating");
}public void move(){System.out.println("Moving.");}
}
public class Zoo {public static void main(String args[]) {Animal xb = new Animal();xb.legs = 4;System.out.println(xb.legs);xb.eat();xb.move();}
}
信息的封装和隐藏
-
我们将类的属性私有化(private),同事,提供公共(public)方法来获取(getxxx)设置(setxxx)此属性的值
-
拓展:封装性的体现 @如上 @不对外暴露的私有的方法 @单例模式 …
- 隐藏一个类中不需要对外提供的实现细节
- 使用者只能通过事先定制好的方法来访问数据,可以方便地加入控制逻辑,限制对属性的不合理操作
- 便于修改,增强代码的可维护性
四种访问权限修饰符
- Java权限修饰符public、protected、(缺省)、private置于类的成员定义前,用来限定对象对该类成员的访问权限。
- 对于class的权限修饰只可以用public和default(缺省)。
- public类可以在任意地方被访问。
- default类只可以被同一个包内部的类访问。
修饰符 | 类内部 | 同一个包 | 不同包的子类 | 同一个工程 |
---|---|---|---|---|
private | yes | |||
缺省 | yes | yes | ||
protected | yes | yes | yes | |
public | yes | yes | yes | yes |
4-8 类的成员之三:构造器(或构造方法)
构造器的概念
- 构造器的特征
- 它具有与类相同的名称
- 它不声明返回值类型。(与声明为void不同)
- 不能被static、final、synchronized、abstract、native修饰,不能有return语句返回值
- 构造器的作用:创建对象;给对象进行初始化
- 如:Order o = new Order(); Person p = new Person(“Peter”,15);
- 说明:
- 如果没有显示的定义类的构造器的话,则系统默认提供一个空参的构造器
- 定义构造器的格式:权限修饰符 类名(形参列表){}
- 一个类中定义的多个构造器,彼此构成重载
- 一旦我们显示了定义了类的构造器之后,系统就不在提供了默认的空参构造器
- 一个类中,至少有一个构造器
构造器的语法格式
-
语法格式:
修饰符 类名 (参数列表) {
初始化语句;
} -
例题
class Person{//属性String name;int age;//构造器public Person(){System.out.println("Person().....");}public Person(String n,int a){name=n;age=a;}//方法public void eat(){System.out.println("人吃饭");}public void study(){System.out.println("人可以学习");}
}
构造器类型
- 根据参数不同,构造器可以分为如下两类:
- 隐式无参构造器(系统默认提供)
- 显式定义一个或多个构造器(无参、有参)
- 注 意:
- Java语言中,每个类都至少有一个构造器
- 默认构造器的修饰符与所属类的修饰符一致
- 一旦显式定义了构造器,则系统不再提供默认构造器
- 一个类可以创建多个重载的构造器
- 父类的构造器不可被子类继承
4-8总结:属性赋值过程
属性赋值过程
- 赋值的位置
- 默认初始化
- 显式初始化
- 构造器中初始化
- 通过“对象.属性“或“对象.方法”的方式赋值
- 赋值的先后顺序
① - ② - ③ - ④
JavaBean
- JavaBean是一种Java语言写成的可重用组件。
- 所谓javaBean,是指符合如下标准的Java类:
1. 类是公共的
2. 有一个无参的公共的构造器
3. 有属性,且有对应的get、set方法 - 例题
public class Employee {private int id;private String name;public Employee(){}public void setId(int i){id=i;}public int getId(){return id;}public void setName(String n){name=n;}public String getName(){return name;}
}