Android中比较常见的Java super关键字_java

super在android中比较常见,没有java基础也并不理解,所以空出时间学习了一下。

在Java类中使用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(){
    super.f();
    value=200;
    System.out.println
    ("ChildClass.value:"+value);
    System.out.println(value);
    System.out.println(super.value);
  }
} 

public class test1 {
  public static void main(String[] args){
    ChildClass cc=new ChildClass();
    cc.f();
  }
} 

最终输出的结果是:

FatherClass.value:100
ChildClass.value:200
200
100

另外继承中的构造也是用到了super,具体规则如下:

1、子类的构造过程中必须调用其基类的构造方法。

2、子类可以在自己的构造方法中使用super(argument_list)调用基类的构造方法。

3、如果子类的构造方法中没有显示的调用基类的构造方法,则系统默认调用基类的无参数构造方法。

4、如果子类构造方法中既没有显示调用基类构造方法,而基类又没有无参数的构造方法,则编译出错。

示例如下:(此处最好可以自己试验一下)

class SuperClass{
  private int n; 

  SuperClass(){
    System.out.println("调用SuperClass()");
  }
  SuperClass(int n){
      System.out.println("调用SuperClass("+n+")");
    }
} 

class SubClass extends SuperClass{
  private int n; 

  SubClass(int n){ 

    //当子类的构造方法中没有写super的时候,系统默认的调用父类的没有参数的构造方法
    //相当于此处写了如下:
    //super(); 

    System.out.println("调用SuberClass("+n+")");
    this.n=n;
  } 

  SubClass(){
    super(300);
    //在子类构造过程当中必须调用父类构造方法,并且super必须写在第一句(先有爸爸再有儿子) 

    System.out.println("调用SubClass()");
  }
}
public class test2 {
  public static void main(String[] args){
    SubClass sc1=new SubClass(); 

    SubClass sc2=new SubClass(400); 

  }
} 

最终结果为:

调用SuperClass(300)
调用SubClass()
调用SuperClass()
调用SuberClass(400)

以上就是本文的全部内容,希望对大家的学习有所帮助。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索java
super
java中的super关键字、java super关键字、java的super关键字、java中super关键字、java常见关键字,以便于您获取更多的相关知识。

时间: 2024-12-02 20:16:47

Android中比较常见的Java super关键字_java的相关文章

Android中如何在maiactivity.java中往布局中添加一个文本编辑框

问题描述 Android中如何在maiactivity.java中往布局中添加一个文本编辑框 怎么从maiactivity.java中往布局中添加一个文本编辑框 EditText et_miyue=new EditText(null); et_miyue.setHint("请输入密钥..."); et_miyue.setSingleLine(true); et_miyue.setAlpha(getWallpaperDesiredMinimumWidth()); et_miyue.set

Android中Socket通信的实现方法概述_java

本文实例简述了Android中Socket通信的实现方法,具体内容如下: 一.socket通信概述 通俗的来说套接字(socket)是通信的基石,是支持TCP/IP协议的网络通信的基本操作单元.它是网络通信过程中端点的抽象表示,包含进行网络通信必须的五种信息:连接使用的协议,本地主机的IP地址,本地进程的协议端口,远地主机的IP地址,远地进程的协议端口. 应用层通过传输层进行数据通信时,TCP会遇到同时为多个应用程序进程提供并发服务的问题.多个TCP连接或多个应用程序进程可能需要通过同一个TCP

Java中使用Socket发送Java对象实例_java

以前写聊天程序都是用字符串加个标志就直接发送到服务器,然后转发了. 现在要求我用对象流直接发送对象,测试了一下,记录一下. 其实我更倾向用json发送对象的,json说白了也是字符串,等有空了好好研究研究. 主要功能:客户端给服务器发送个对象,服务器接收到了打印出来.反过来是差不多了,就不写了. 上面是整体架构. User类就两个属性. 复制代码 代码如下: package com.qiantu.bean; import java.io.Serializable; public class Us

java中的常见关键字解析_java

本文主要针对Java常见关键字final,static,super,this进行详细辨析,以方便读者参考查阅.具体如下: 一.final 1)修饰class(类): 表示此类不可被继承了 2)修饰method(方法) 表示此方法方法不可被重写(@override)了 3)修饰variable(变量) 表示此变量的值之后不可被改变了,常用于修饰不可变的常量 注:final字面意思是"最后"."不可更改"的意思,结合意思记忆更方便. 二.static(第二.三法常用)

Android中Java instanceof关键字全面解析_Android

instanceof关键字用于判断一个引用类型变量所指向的对象是否是一个类(或接口.抽象类.父类)的实例. instanceof是Java的一个二元操作符,和==,>,<是同一类东东.由于它是由字母组成的,所以也是Java的保留关键字.它的作用是测试它左边的对象是否是它右边的类的实例,返回boolean类型的数据.举个例子: String s = "I AM an Object!"; boolean isObject = s instanceof Object; 我们声明了

详解Java编程中super关键字的用法_java

通过用static来定义方法或成员,为我们编程提供了某种便利,从某种程度上可以说它类似于C语言中的全局函数和全局变量.但是,并不是说有了这种便利,你便可以随处使用,如果那样的话,你便需要认真考虑一下自己是否在用面向对象的思想编程,自己的程序是否是面向对象的. 好了,现在开始讨论this&super这两个关键字的意义和用法.在Java中,this通常指当前对象,super则指父类的.当你想要引用当前对象的某种东西,比如当前对象的某个方法,或当前对象的某个成员,你便可以利用this来实现这个目的,当

java之super关键字用法实例解析_java

本文实例讲述了java中super关键字的用法.分享给大家供大家参考.具体方法分析如下: super关键字:在java中使用super来引用基类的成分. 程序代码如下: class FatherClass{ public int value; public void f(){ value = 100; System.out.println("FatherClass.value:"+value); } } class ChildClass extends FatherClass{ pri

Java的super关键字与instanceof运算符使用方法_java

Java super关键字 super 关键字与 this 类似,this 用来表示当前类的实例,super 用来表示父类. super 可以用在子类中,通过点号(.)来获取父类的成员变量和方法.super 也可以用在子类的子类中,Java 能自动向上层类追溯. 父类行为被调用,就好象该行为是本类的行为一样,而且调用行为不必发生在父类中,它能自动向上层类追溯. super 关键字的功能: 调用父类中声明为 private 的变量. 点取已经覆盖了的方法. 作为方法名表示父类构造方法. 调用隐藏变

android中的java简单语法问题

问题描述 android中的java简单语法问题 android中java代码 Button simple = (Button) findViewById(R.id.simple)那个括号里的Button是类名吗?这里为什么写上(Button)而不是new呢?请原谅我java都没有学完就被逼着学android 解决方案 可以将(Button)理解为强制转换,因为findViewById(R.id.simple)这句话通过字面理解就是通过ID找到simple这个控件该控件属于view类型, 而你前