JavaSE-Day09(面向对象的三大特性)

封装

概念:
将一段代码放在一个类中(包装)
优点:
1. 解耦(降低代码的耦合度)
2.提高代码的复用率
3.保护内部代码
Java代码中的封装:
1.变量:封装一个可以改变的数据
2.数组:封装一组数据
3.方法:封装一段代码块
包的创建 与 注意事项:
创建:
右键src 新建 package 然后起 包 名 即可
注意:

  1. 报名的名字之间可以用 . 来隔开
  2. 每个点之后就是一个文件夹
  3. 在包中创建类…等是需要导包的
    语法;
    import 报名.类名
访问权限修饰符
权限修饰符范围一个类中当前包中当前包中 或继承类一个项目下
privatetrue
默认值不写truetrue
protectedtruetruetrue
publictruetruetruetrue
总结:
	一般情况下,属性用private 修饰 , 类 与 方法 一般用public 修饰
注意:
	属性用private修饰的时候 要提供get 和 set 方法

继承

概念:
父类:
在某一类(也就是多个类中)提取出的公共的属性和方法 ( 构造函数不能提取)生成父类
子类:
子类就是去除与父类相同属性和方法 ,就是子类,子类可以重写父类中的方法
继承:
子类继承父类后拥有父类的所有属性 和 方法 还可以重写 父类中的方法

优点:

  1. 提高代码的复用率

  2. 使得代码结构清晰

  3. 解耦合

    语法:
    权限修饰符 class 子类名 extends 父类名{ }

super使用:

	概念:
		super可以调用父类中的属性和方法
	1.super调用父类中的构造方法:
		语法:	
			super(实参列表);
		注意:
			1.要在子类中的第一行
			2.子类中要是没有调用父类中的构造函数,那么默认调用父类中的无参构造函数
	2.super调用父类中的被重写的方法:
		语法:
			super.方法名(实参列表);
		注意:
			1.重写之后由于是方法名字相等,并且形参列表也是相等,所以回用super 来判断
	3.当子类属性名与父类属性名重名的时候可以用super来区分
		注意:
			一般不会出现这种情况,因为父类是抽取子类的共同属性 和 方法 ,证明抽取之前也不会有属性名相同的情况.

总结

本质:
	子类拥有父类中的所有属性和方法
语法:
	权限修饰符 class 子类类名 extends 父类名字{ }
注意:
	1.单继承性:一个子类只能有一个直接父类
	2.加入这个类没有写继承类,那么这个类默认继承基类 Object ,因为Java 的最终基类就是Object

多态

概 念:
一种事物可以拥有多种状态
代码中的多态
事:
方法的重写 和 重载
物:

package com.text;

public class Text {
	public static void main(String[] args) {
		A a = new A();
		B b = new B();
		
//		父类对象不可以转子类对象
		//B b2 = (B) new A();
		
//		子类对象可以转父类对象
		A a2 = new B();
		
//		b2.text();
		
		a2.text();
		b.text();
	}
}
class A{
	public void text() {
		System.out.println("测试方法,父类");
	}
}

class B extends A{
	public void text02(A a) {
		System.out.println("ceshi");
	}
	@Override
	public void text() {
		System.out.println("测试类,子类重写父类的方法");
	}
}

重写 和 重载的区别

重写

要求:

  1. 必须要有继承关系
  2. 子类的权限修饰符必须大于 或等与 父类
  3. 返回值类型相同
  4. 方法名字相同
  5. 形参列表相同
  6. 方法体不同
重载

要求

  1. 必须在一个类中
  2. 权限修饰符无所谓
  3. 返回值类型无所谓
  4. 方法名字必须一致
  5. 形参列表不能相同
  6. 方法体不能相同
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值