《Java面向对象》
第三章 继承与多态
3.1 包的定义与使用
注意事项:
- Java中的包均为小写字母组成,一般第一个为com,后面为公司或项目英文缩写,最后加上模块英文缩写。
- 不同包中的类不能直接相互使用,需要使用import导入对应的包名后才能使用。
- 如果导入了包,但是未用到包中的类,则导入包会以黄色下划线形式提醒。
查看源代码目录:包名实际上就是文件夹的名称。,通过右键项目–》属性Properties打开的窗口中可以看到目录位置。
导入scanner所在的包:Scanner类所在的包是java.util,所以需要在当前类上方使用import方式导入。
Java中4中常用访问修饰符:常用访问修饰符,范围从小到大依次为:
1.private只能在当前类中访问
2.default在当前包下的类之间访问
3.protected当前包和不同包,但是子类可以访问
4.public代表任何地方都能访问
3.2 继承的定义与使用
继承是面向对象程序设计的一个重要特征,它是通过继承原有类派生出子类,进而构造出更为复杂的子类,子类既有新定义的行为特征,又继承了原有类的行为特征。
继承的特性:子类继承父类后,可以拥有父类中定义的公共方法。
3.3 Java中的多态
多态的定义和使用:
多态:字面上解释其实就是一个事务的多种形态。
Java中的方法,对象也都有多态的体现。
Java中的多态有两种体现,方法重载和重写。
println方法:
println方法是jdk中自带的方法,用于向控制台输出信息,可以接收多种类型参数数据。
父类中的方法:
将子类具体的方法抽离到父类中,父类无法确定功能实现,所有可以空着,后期有抽象的方法可以解决。
父类引用指向子类对象:
父类指代的范围更大,所以父类引用名可以指向具体的子类对象。
注意事项:
父类引用可以指向子类对象,但是不能用子类指向父类。
3.4 Java中的重载和重写
方法的重载:同一个类中,方法名相同,但是参数不同的方法称为方法的重载。
方法的重写:在子类中,对所继承父类中的方法进行重新,要求返回类型,方法名,参数列表都一致,且访问修饰符不能降低。
重载和方法重写的区别
重载关注的是同一个类中方法名相同,参数不同的方法,调用的时候虽然方法名相同,但是根据参数进行区分,从而执行不同的方法体。
重写是发生在父子类中,子类对父类方法的重新实现,要求方法返回值,方法名, 方法参数都要相同,重写的方法访问修饰符要大于等于父类的方法的访问修饰符。