java面向对象编程(下)

本文深入探讨了Java的面向对象特性,包括继承性、访问控制修饰符的四种类型、多态概念、对象的关联以及java.lang.Object类的重要性。此外,还详细解释了static关键字的用途,它能修饰属性、方法、代码块以及内部类。
摘要由CSDN通过智能技术生成

一、面向对象的特性之二:继承性


1. 为什么使用继承
①提高代码的复用性
②利于维护
③继承让类与类之间产生了关系,可以创建更加特殊的类型(多态)

2. 如何使用继承:
关键字: extends --- "扩展" 明确子类是父类的扩展
class A extends B{}
子类: A 父类(超类、基类、SuperClass):B

3. 通过继承,子类可以“继承”父类中所有的属性(包括私有的)和方法。构造器除外---不会继承,但是可以调用
注意:父类中私有的属性,可以被子类继承,但是因为 private 修饰符的作用子类不能直接访问
若要访问通过公共的 get/set 方法进行访问
4. 继承的注意:
①不能为了简化代码,获取某功能而继承,若要继承两个类之间必须满足一定的所属关系: is a
②Java 只支持单继承,不支持多继承(一个父类可以有多个子类,但是一个子类只能有一个父类)
③Java 支持多层继承

class A{
void test1(){}

void test2(){}
}

class B extends A{
//void test1(){}

//void test2(){}
}
---------------------------------
class A{
void test1(){
//11111111111111
}
}

class B{
void test1(){
//22222222222222
}
}

class C extends A, B{}

C c = new C();
c.test1();

二、方法的重写(方法的覆盖 Override) : 若父类中的方法对于子类来说不适用,子类可以对父类中方法进行重写
前提:要有继承关系
①方法名与参数列表必须相同
②子类重写方法的访问控制修饰符不能小于父类被重写方法的访问控制修饰符 访问控制修饰符要往大了去,其他要往小了去
③子类重写方法的返回值类型可以是父类被重写方法返回值类型的子类(指引用数据类型)
④子类重写的方法所抛出的异常必须和父类抛出的异常类型保持一致或是其子类
否则不构成重写
(通常应用时,使方法签名一模一样)

【面试题】 Overload 和 Override 的区别?
前提:在同一个类中
①方法名必须相同
②参数列表必须不同(参数的类型、参数的个数)
注意:与返回值类型无关

三、super 关键字: 使用方式与 this 关键字几乎一模一样
this : super()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值