一、super 关键字

1、super是直接父类对象的引用。可以通过super来访问父类中被子类覆盖的方法或属性。

使用super调用普通方法,语句没有位置限制,可以在子类中随便调用。

代码示例:

 class FatherClass  //父类
{
public int value; public void f(){
value=100;
System.out.println("FatherClass.value= "+value);
}
} class ChildClass extends FatherClass //子类
{
public int value; public void f(){ //重写父类的f()方法
super.f();//调用父类对象的普通方法f() 用super
value=200;
System.out.println("ChlidClass.value="+value); System.out.println(value);//子类的 value
System.out.println(super.value);//父类的 value
}
} public class Test_1201_01
{
public static void main(String[] args)
{
new ChildClass().f(); } }

2、若是构造方法的第一行代码没有显式的调用super(...)或者this(...);那么Java默认都会调用super(),含义是调用父类的无参数构造方法。这里的super()可以省略。

代码示例:

 //测试super 的第二个用途
//若是构造方法的第一行代码没有显式的调用super(...)或者this(...);那么Java默认都会调用super(),含义是调用父类的无参数构造方法
class FatherClass//父类
{
public FatherClass() //父类的无参构造方法
{
//supr(); 也有这句 会向上追溯 到Object类
System.out.println("父类的构造方法"); }
} class ChildClass extends FatherClass
{
public ChildClass()
{
// super(); 默认有这句,调用父类的构造方法
System.out.println("子类的构造方法");
}
} public class Test_1201_02
{
public static void main(String[] args)
{
new ChildClass(); //显然只是对子类创建个对象,但会输出2句。它调用了父类的无参构造方法 }
}

二、final关键字

1. 修饰变量: 被他修饰的变量不可改变。一旦赋了初值,就不能被重新赋值。  如: final  int   MAX_SPEED = 120;

2. 修饰方法:该方法不可被子类重写。但是可以被重载!                                   如 : final  void  study(){}

3. 修饰类: 修饰的类不能被继承。比如:Math、String等。                                如:final   class  A {}

final修饰方法如图所示。

final修饰类如图所示。

最新文章

  1. 修改ThinkSNS网站入口
  2. 嵌入式linux无线网卡的使用
  3. activity-intent-startActivity-startActivityResult
  4. PM俱乐部之旅7-弱活着
  5. JDK源码之AQS源码剖析
  6. HTTP 首部字段详细介绍
  7. 多线程中操作UI
  8. docker(一) Centos7下安装docker
  9. http(数据格式)、postman(数组、id、断言) 小知识必看啊
  10. jsp标签jstl和el表达式
  11. 优雅的重载toString方法,打印对象内容而不是打印内存地址的方法
  12. day28 classmethod 装饰器
  13. hdu 5443 (2015长春网赛G题 求区间最值)
  14. MySql随手记要
  15. 程序包org.junit不存在和编码GBK的不可映射字符问题解决
  16. 【大数据系列】hadoop集群设置官方文档翻译
  17. 【CF653G】Move by Prime 组合数
  18. BZOJ4553: [Tjoi2016&Heoi2016]序列 树套树优化DP
  19. 对printf函数的理解1
  20. Dubbo通过注解实现RPC调用

热门文章

  1. C语言中的输入方式
  2. matplotlib中绘图配色
  3. Python 中下划线的 5 种含义
  4. AutoFac之 Named and Keyed 方式注入
  5. 基于setTimeout制作滚动广告板
  6. Oracle使用sys登录时报错ORA-28009解决方法
  7. OpenGL进阶之Instancing
  8. poi 多行合并
  9. 【Linux】网络性能测试工具iperf详细使用图文教程【转】
  10. SQL更新派工单数量=任务数量的