最近在读关于Java的书籍,看到关于Java的继承时,发现Java与C#在继承权限方面有很大不同。
1 继承的写法
Java:用Exends关键字
C#:用“:”
2 权限问题
Java:子类的权限只能比父类(基类)更大或者相同,但是绝对不能比父类(基类)权限小。
C#:子类的权限只能比父类(基类)更小或者相同,但是绝对不能比父类(基类)权限大,否则会出现错误提示。
Java和C#在这权限问题方面简直就是反过来了。前者是在继承时权限只能越来越大,后者是在继承时权限只能越来越小。个人感觉C#的这方面更安全一些,防止子类肆意扩大权限,导致外部对父类的不安全访问。
(以上看法仅代表个人看法,欢迎大家批评指正)