Java面向对象三大特征①——封装和继承

1. 封装的特点

不局限于面向对象的封装,例如方法的封装、工具类的封装、框架的封装,需要养成封装的思想。

2.符合Java Bean规范的类封装过程

2.1 代码规范的重要性

可以有效的提高开发效率。

2.2 定义符合Java Bean规范的类的要求

  1. 所有的成员变量全部私有化。
  2. 必须提供一个无参数构造方法。
  3. 要求使用private修饰的成员变量提供对应的操作方法——Setter方法和Getter方法。

2.3 private关键字

此关键字是一个权限修饰符,其修饰的成员变量、成员方法、构造方法全部都是私有化内容,能且只能在类内使用,类外没有任何的操作权限!!!

2.4 Setter方法和Getter方法

private修饰的成员变量在类外没有任何操作权限,这里需要提供对应的操作方法,Setter和Getter方法。

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

3. 匿名对象

3.1 定义格式

new 构造方法(必要的参数);

3.2用途

  1. 使用匿名对象直接调用类内的成员方法。
  2. 匿名对象直接作为方法的参数。

【注意】

使用匿名对象不要操作成员变量,可能有去无回。

【优势】

  1. 匿名对象在使用之后,立即被JVM GC收回。
  2. 解决内存空间,提高效率,简化代码书写。

4. 继承

4.1 实现继承的方式

关键字:extends
格式:
class A extends B {}
A类是B类的一个子类,
B类是A类的唯一父类,
Java中的继承是一个单继承模式。

4.2 基本要求

  1. 子类继承父类之后,可以使用父类的非私有化成员变量和成员方法。
  2. 子类不能继承得到父类的私有化内容。

4.3 方法的重写

  1. 在开发中存在父类的方法不适用于子类的情况,那么子类可以重写父类的方法,完成自定义方法的使用。
  2. 重写之后,在没有增加新的方法名的情况下,重写方法体内容,让方法满足子类,降低了开发压力,提高了效率。

@Override:严格格式检查。
要求重写方法和父类中的方法,声明完全一致包括返回值类型、方法名和形式参数列表。

4.4 abstract关键字

  1. abstract修饰的方法没有方法体。
  2. abstract修饰的方法必须定义在abstract修饰的类内或者interface接口内。
  3. 一个普通类继承了一个abstract类,那么必须实现在abstract类内的所有abstract方法。
  4. 如果一个abstractA类继承另一个abstractB类,A类可以选择实现B类中abstract方法。
  5. abstract修饰的类内允许普通方法。
  6. abstract修饰的类不能创建自己的类对象。
  7. 一个类内没有abstract修饰的方法,那么这个类定义成abstract类是没有意义的。

4.5 final关键字

  1. final修饰的成员变量定义时必须初始化,并且赋值之后无法修改。
  2. final修饰的成员变量不能被子类重写,为最终方法,可以用于一些安全性方法的定义。
  3. final修饰的局部变量一旦被赋值,不能修改。
  4. final修饰的类没有子类,不可以被继承。
  5. abstract修饰的类不能被final修饰。
发布了5 篇原创文章 · 获赞 4 · 访问量 155

猜你喜欢

转载自blog.csdn.net/qq_41424681/article/details/104328115