面向对象特征——继承
继承研究的是类和类之间的关系,使用extends关键字来实现父类、子类的绑定
继承的注意事项
-
Java的继承;可以连贯的从祖辈中继承。如:孙子类可以使用父亲类,还可以使用爷爷类,以此类推
-
Java中值支持单根继承,只能有
一个直接父亲
-
父类中的
私有属性、构造方法不能被子类继承
Object父类 ——超类
java中有个类:就叫做Object,它是所有其他类的父类(根类、基类)一切类 都是继承Object类的,如果你没有手动指定类的继承关系,那么在编译执行的过程中,JVM会该类自动继承Object类
Java中,如果直接打印一个对象,默认会按照Object中toString()方法规定的格式打印
super关键字
public class Animal {
String name="小张";
public class dog extends Animal{
String name="小胡";
public void show(){
String name="小胡";
System.out.println("子类,名字为:"+name);
System.out.println("父类名字为:"+super.name);
}
}
public class test {
public static void main(String[] args) {
dog d=new dog();
d.show();
}
}
属性:super.属性
普通方法:super.方法名();
构造方法:super() super(100),和this相似:语法相似,同时也只能在构造方法中使用super,且只能位于第一句
引申:
-
即使用super,又使用this,那么他们之间谁在第一句?
在构造方法中,不能同时使用super、this。
-
一个类的构造方法 ,第一句JVM会帮你自动添加,调用其父类无参构造方法的语句,其实,该语句就是:super();
注意:你需要保证父类的无参构造方法没有屏蔽(自己写)
思考:运行结果
public class A {
public A(){
System.out.println("A的无参构造方法运行了");
}
{
System.out.println("A的实例代码块运行了");
}
static {
System.out.println("A的静态代码块运行了");
}
}
public class B extends A {
public B(){
System.out.println("B的无参构造方法运行了");
}
{
System.out.println("B的实例代码块运行了");
}
static {
System.out.println("B的静态代码块运行了");
}
}
public class test {
public static void main(String[] args) {
new B();
}
}
运行结果:
分析:
-
先加载类
-
加载无参构造方法 子类隐藏super()语句 先加载父类,父类有实例代码块,先加载实例 代码块再加载无参构造方法
访问修饰控制符:
private:私有化,只能再 当前类中访问
default:不写(包访问权限),只能当前包中访问
protected:可以在不同包中使用,但是必须有父子类的关系
public:在任何地方都可以访问
总结:
-
Java中有四种访问控制符
-
在实际开发中,private、public使用高达90%
-
private 和protected 不可以修饰类
重写
重载:overload 同一个类中,方法名相同,参数列表不同
重写:override ,父子类中,子类可以书写和父类相同的方法名,来覆盖父类的放法
注意事项:
-
子类重写的方法。其返回值类型不能大于父类对应的方法。(所谓返回值类型的大小,主要针对类来说的,即父类大于子类)
-
子类重写的方法。其访问修饰符不能小于父类对应的方法。
最佳实践:重写方的
@XXX 叫做 注解
override和overload的对比:
final关键字:
是Java中的一个关键字,被它修饰的内容:不可改变
final可以修饰的内容:
类:如果用来修饰类,表示该类不可变了,即:不能被其他类继承。
被final修饰的类一般叫做:最终类
不能继承final修饰的类
属性:被final修饰得到属性我们称作:常量,不可改变
注意:
1.
常量在声明的时候,
一定要初始化一个具体的值。
因为过了这个声明语句,其他地方是不能给常量赋值的
-
常量:一般全部大写,单词中间用下划线连接
普通方法
final修饰的方法不能被重写
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
创新互联是一家集网站建设,铁门关企业网站建设,铁门关品牌网站建设,网站定制,铁门关网站建设报价,网络营销,网络优化,
铁门关网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
本文标题:面向对象特征——继承、Java中的超类Object、重写,重载的定义-创新互联
URL地址:
http://bjjierui.cn/article/ceppso.html