目录
1、Java的继承特征
-
继承
类与类之间有关系,这或只能怪关系就是继承
继承就是通过现有的类构建出新类的机制
现有的类叫父类(超类、基类),构建出来的新类叫子类
类与类之间的继承关系是单继承,一个java类只能有一个父类。
-
如何完成一个继承关系
通过关键字extends关键字实现继承
格式:public class 子类名称 extends 父类名称{ }
前提是父类一定是存在的。
public class Student extends Person{ }
-
子类对象创建 --- 子类的构造方法中会默认调用父类的无参数构造方法(没有父就没有子)如果一定要访问父类有参数的构造方法,就需要在子类的构造方法中的第一行通过“super(参数值)”,就可以指定调用父类的任意一个构造方法。
总结:创建子类对象需要子类的构造方法, 通过子类构造方法创建子类对象是默认会调用父类的无参数构造方法,当父类没有无参构造方法时,我们应该在子类的构造方法中的第一行通过super(参数),调用父类有参数的构造方法来完成子类对象的创建。
2、java中的包
java包 --- java程序包
java中如何创建一个包?
通过package关键字创建包
格式:package 包名称;(类的第一行)
java中包的作用是什么?
区分名称相同的java类
我们在使用java类的时候需要先导入这个java类所在的包。
怎么导入包?
通过import关键字导入需要使用的java包
例如:import 包名 + 类名; //只导入当前包中的当前类
例如:import 包名 + *; 导入当前包中的所有类
包名可以是一个合法的标识符,也可以是多个合法标识符之间用“ . ”分割
规则:公司域名倒置.项目.功能
注意:1.java.lang包不需要导入,java.lang包中包含的java核心开发类,系统默认自动导入。
3、Java中的权限修饰符
-
public:公共的
-
缺省的
-
protected:受保护的
-
private:私有的
总结:java中子类的继承性
-
java中的类是单继承(一个java类只能继承一个父类)
-
同一个包中子类可以继承父类中除过 private修饰 的变量/方法
-
不同包中的子类可能继承父类中public/protected修饰的变量/方法
-
子类中的变量和方法,有一部分是子类从父类继承的,还有一部分是子类自己创建
-
定义的java类如果没有明确的继承某个类,那么这个类默认继承了java.lang.Object类
4、方法重写
在子类中某一个方法与父类中的某一个方法相同,此时就是子类重写父类的方法。
public class Person{ public void testInfo(){ System.out.println("父类的实例方法"); } } public class SunClass extends Person{ //方法重写 @override public void testInfo(){ System.our.println("子类的重写的实例方法"); } }
方法重载与方法重写的区别:
方法重载 | 方法重写 |
---|---|
同一个类中 | 子类中 |
方法名称相同 | 方法名称相同 |
方法参数不同 | 方法参数相同 |
与方法返回值类型无关 | 方法返回值类型相同 |
强制使用被重写的父类方法super.方法 |