(八)Java面向对象封装、继承、多态(Java基础笔记)

一、封装

定义:在方法中、类中对属性私有化,用private关键字修饰,通过公共的访问方式进行赋值和取值,从而提高数据的安全性

	class Person{
		//属性封装
		private String name;
		//私有化属性---只能直接在本类中使用
		private int age;
		
		//间接给私有化属性赋值
		public void setAge(int age){
				this.age=age;
		}
		//间接给私有化属性进行取值
		public int getAge(){
			return age;
}

二、继承

定义:在已有类的基础上对类的功能进行扩充,多个类中的内容相同,把相同的内容放到一个新类中,让原来的类和这个新类通过extends产生了关联关系—继承 原来的类是子类、派生类 新的类是父类、超类 子类可以继承父类部分信息

1、继承方式:

使用extends 关键字,在继承这种,一个子类只能有一个父类,父类可以有多个子类

2、重写:

定义:

在父子类中出现方法签名一致的方法—方法的重写

原则:

	1、父子类方法签名相等
	2、如果父类的方法返回值类型是基本类型/void,子类的方法返回值类型要和父类保持一致
	3、如果父类的方法返回值是引用类型,那么子类的方法返回值类型要么和父类的方法返回值类型一致,要么就是父类方法返回值类型的子类
	4、子类的方法访问权限修饰符要么和父类的访问权限修饰符一致,要么大于父类的访问权限修饰符范围

3、访问权限修饰符

本类 子类 同包类 其他类
public 可以 可以 可以 可以
protected 可以 可以 可以 不可以
默认(不写) 可以 同包子类 可以 不可以
private 可以 不可以 不可以 不可以

注意:

父类中私有化信息、构造方法以及构造代码块子类都拿不到

4、super关键字

特点:

用于在子类中调用父类信息(代表父类对象)

	1、所有的子类的构造方法都要默认调用父类的无参构造
	2、如果父类没有提供无参构造,子类所有的构造方法需要通过super语句去调用对应形式的父类构造
	3、super语句用于在子类构造方法中调用父类的构造方法
	4、保证super语句在代码的第一行

三、多态

1、特点:

代码在操作过程中体现的多种形式

	1、编译时多态---在编译时期进行代码绑定---重载
		public static void m(){}
		public static void m(int i){}
	2、运行时多态---在运行时期进行代码的绑定
		体现:重写,向上造型 (前提是继承)

2、向上造型:

声明类是父类,子类是实际创建类,创建对象;

你可能感兴趣的:(Java基础,java,继承,多态,封装)