首页 > 编程语言 >java继承关系中super关键字

java继承关系中super关键字

时间:2024-09-24 21:48:20浏览次数:8  
标签:java System class 关键字 Son4 父类 super public

super关键字的使用和注意事项:

1、super仅代表当前类中的直接父类,无法使用super获取父类的父类中的成员
2、super后面不能再调用super

class GrandFu3{
    int a = 10;
}

class Fu3 extends GrandFu3{
     int a = 30;
}

class Son3 extends Fu3{
    int a = 20;
    public void fun1(){
        System.out.println(a); //打印的是该类的变量a=20,先从自己的类中去找
        System.out.println(super.a); //因为有super关键字,返回的是直接父类里面的变量a=30
//        System.out.println(super.super.a);没有这种写法
        GrandFu3 grandFu3 = new GrandFu3(); //想要调用最上级的父类,只能通过创建一个对象来进行调用
        System.out.println(grandFu3.a);   //输出的是a=10
    }
}

public class ExtendsDemo5 {
    public static void main(String[] args) {
        Son3 son3 = new Son3();
        son3.fun1();
    }
}

super关键字可以调用父类的非私有的变量和方法

class Fu4{
    public Fu4(String s){
        System.out.println("这是父类中有参数的构造方法。。。。");
    }
}

class Son4 extends Fu4{
    public Son4(){ //无参的子类构造方法
        //super()
        super("数加");
        System.out.println("这是子类的无参构造方法.....");
//        super("数加"); //调用父类的有参构造
    }

    Son4(String s){ //有参的子类构造方法
        super(s); //调用父类的有参构造方法
    }
}
public class ExtendsDemo6 {
    public static void main(String[] args) {
        Son4 son4 = new Son4();
        Son4 son5 =new Son4("数加");
    }
}

标签:java,System,class,关键字,Son4,父类,super,public
From: https://www.cnblogs.com/ndmtzwdx/p/18430109

相关文章

  • javascript是什么语言?它是干什么的?
    javascript简称“js”是浏览器端的脚本语言,是用来处理网页客户端与用户的交互的一种行为,以及实现页面特效。它是一种高级、直译式、解释型语言,是一种基本的原型、函数先行语言,它支持面向对象编程、命令式编程、以及函数式编程。 要知道javascript是干什么的,我们首先要......
  • java_day6_this关键字、构造方法、static关键字、工具类、文档注释
    一、this关键字this代表的是调用该方法的当前对象【谁调用了该方法,this就代表那个对象】this:代表的是调用当前方法的对象this可以使用对象中的成员变量,成员方法,构造方法变量查找规则:就近原则先在方法中查找变量,若找到就使用若方法中没有该变量,去成......
  • [JVM] 应用诊断工具之javac命令
    0引言1JDK命令:javac反编译指定类:javac-c{className}参考命令:C:\Users\xxxxxx>javap-cjava.lang.Object>"Object.txt"C:\Users\xxxxxx>javap-cjava.lang.ObjectCompiledfrom"Object.java"publicclassjava.lang.Object{p......
  • java中的继承关系
    继承是指我有多个类,而且这些类都有相同的属性和方法的时候就可以使用继承关系java提供了一个关键字用来表示继承关系:extends写法:classBextendsA{}表示B类继承自A类这里的B称之为:子类,派生类这里的A称之为:父类,基类或者超类子类只能继承父类的成员变量和成员方法,并且不是私......
  • 02.Java流程控制
    1.Scanner对象可以通过Scanner类来获取用户的输入基本语法Scanners=newScanner(System.in);通过Scanner类的next()和nextLine()方法获取输入的字符串,在读取前我们一般需要使用hasNext()和hasNextLine()来判断是否还有输入的数据next()一定要读取到有效字符后才......
  • Day5 JavaWeb知识了解以及每日一题:力扣125.验证回文串
    Day5JavaWeb知识了解以及每日一题:力扣125.验证回文串2024年9月24日20:06:45JavaWeb基础知识TomcatApacheTomcat是一个开源的Servlet容器和Web服务器,它是JavaEE(EnterpriseEdition)的一部分,专门用于运行JavaServlet和JavaServerPages(JSP)。Tomcat的主要功能是接收HTTP......
  • java_day5_面向对象、private关键字
    一、面向对象面向对象与面向过程的区别?面向过程的思想:代表语言C语言功能开发中的每一步都是自己参与的面向对象的思想:代表语言java语言指的是不断地创建对象,指挥对象事情过程面向对象的思想:1、都有那些事物?判断事物的方式:......
  • java封装题目3
    3.以面向对象的思想,编写自定义类描述图书信息。设定属性包括:书名,作者,出版社名,价格;方法包括:信息介绍show()要求:1)设置属性的私有访问权限,通过公有的get,set方法实现对属性的访问2)限定价格必须大于10,如果无效进行提示3)限定作者,书名为只读属性4)设计构造方法实现对属性......
  • 基于SSM的选题管理系统(有报告)。Javaee项目。
    演示视频:基于SSM的选题管理系统(有报告)。Javaee项目。项目介绍:采用M(model)V(view)C(controller)三层体系结构,通过Spring+SpringMvc+Mybatis+Jsp+Maven来实现。MySQL数据库作为系统数据储存平台,实现了基于B/S结构的Web系统。系统设计思想一个成功的网站应明确......
  • JAVA的字符串这篇讲清楚了
    JAVA_String从概念上讲,JAVA字符串就是Unicode序列。例如"Java\u2122"由5个UNICODE字符J,a,v,a和™组成。Java没有内置和字符串类型,而是试用java标准库中提供的一个预定义类,很自然地叫做了string。子串substringStringsubStr=str.substring(beginIndex);这里beginIndex指......