Java中的继承

首先先记一下自己很久没留意到的小概念:一个JAVA源文件中只能有一个public类,具体原因我查了一下这个解释有人解释了一下,但我没有看懂,就贴出来让其他人看看。
今天首先了解的是构造代码块,用{}括起来的就是构造代码块,硬概念。
这儿的程序运行顺序可以借用下面简易程序代替一下:
class Student {
static {
System.out.println(“Student 静态代码块”);
}
{
System.out.println(“Student 构造代码块”);
}
public Student() {
System.out.println(“Student 构造方法”);
}
}
class StudentDemo {
static {
System.out.println(“StudentDemo的静态代码块”);
}
public static void main(String[] args) {
System.out.println(“我是main方法”);
Student s1 = new Student();
Student s2 = new Student();
}
}
很直观,顺序依次是静态代码块,构造代码块,构造方法。
然后就是继承了:
通过extends关键字可以实现类与类的继承
class 子类名 extends 父类名 {}
继承的注意事项
a:子类只能继承父类所有非私有的成员(成员方法和成员变量)
b:子类不能继承父类的构造方法,但是可以通过super(待会儿讲)关键字去访问父类构造方法。
c:不要为了部分功能而去继承
这里要说明的是继承往往是当我们需要父类的大部分功能才去继承的。
注意
在子类中访问一个变量的查找顺序(“就近原则”)
a: 在子类的方法的局部范围找,有就使用
b: 在子类的成员范围找,有就使用
c: 在父类的成员范围找,有就使用
d:如果还找不到,就报错
这个方法要根据实际情况而定。
下来就是关键字thissuper
一般就我现在遇到的情况来说,this就是代表成员变量的引用,super则是父类的引用。然后就是方法重写的引出,它是在子类继承父类的基础上子类中出现了和父类中一模一样的方法声明(方法名,参数列表,返回值类型)。
方法重写注意事项
a:父类中私有方法不能被重写
因为父类私有方法子类根本就无法继承
b:子类重写父类方法时,访问权限不能更低
最好就一致
c:父类静态方法,子类也必须通过静态方法进行重写
最后就是如果父类不想让子类去改写方法,则需要引进final关键字,被它修饰的变量为常量,被它修饰的类不可被继承,被它修饰的方法不可被改写。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值