this关键字:

1.引用成员变量

2.通过this(参数列表)调用类的重载的构造方法

3.返回对象的值:使用return this,来返回某个类的引用。

super关键字:

1.super是一个引用,在子类对象中对父类的引用,用于在子类的方法中调用父类已经被重写的方法

2.当父类的构造方法中有参时,子类的构造方法必须使用super(参数值); 对于父类无参的默认构造器,子类会使用默认的super();,可以不写出来

注:this()和super()之前不能写其他语句

public class Circle {
    protected double radius;   
    public Circle(double r) {
        radius=r;
    }
    public void setr(double radius){
        this.radius=radius;               //使用this关键字引用成员变量,前面的this.radius指成员变量
    }   
    public double getr(){
        return radius;
    }   
    public double getarea(){
        return 3.14*radius*radius;
    }
}

public class Cylinder extends Circle {
    private double length;   
    public Cylinder() {
        super(1);            //当父类的构造方法中有参时,必须使用super(参数值);                                   
        length=1;
    }
    public void setl(double length){
        this.length=length;
    }  
    public double getl(){
        return length;
    }

//通过super调用父类方法
    public double getarea(){
        return super.getarea() *2+radius*2*3.14*length;    /*在父类中,radius是protected属性,可在子类中直接调用;如果属性为private,                                                                                             则用通过方法getr()获取半径*/
    }
    
    public double getv(){
        return super.getarea()*length;   //在子类的方法中使用super.被重写的父类方法对该方法进行调用
    }    
}

public class test {
    public static void main(String args[]){
        Cylinder c=new Cylinder();
        System.out.println("圆柱体积为: "+c.getv());
        System.out.println("圆柱表面积为: "+c.getarea());
        c.setl(2);
        c.setr(1);
        System.out.println("圆柱体积为: "+c.getv());
        System.out.println("圆柱表面积为: "+c.getarea());
    }
}

this和super关键字的更多相关文章

  1. Java super关键字活用

    在实际开发中我们要自定义组件,就需要继承自某个组件类,如果我们自定义的这个组件类也需要像被继承的这个组件类一样,拥有丰富的构造方法. 关键字super的作用就更加显得尤为重要了,你可以在堆砌自己自定义 ...

  2. 12.super关键字

    ①在java中使用super关键字来调用父类的成分

  3. this、super关键字

    this关键字 this 关键字用来表示当前对象本身,或当前类的一个实例,通过 this 可以调用本对象的所有方法和属性. public class Demo{ public int x = 10; ...

  4. Java基础-super关键字与this关键字

    用super调用父类构造方法 类如果没有显式声明构造方法,则自动生成无参数的默认构造方法. 1.先用一个无参数的父类构造方法验证一下, 执行子类构造方法会自动调用父类的构造方法.测试代码: class ...

  5. 使用 Object.create 创建对象,super 关键字,class 关键字

    ECMAScript 5 中引入了一个新方法:Object.create().可以调用这个方法来创建一个新对象.新对象的原型就是调用 create 方法时传入的第一个参数: var a = {a: 1 ...

  6. 方法重写和方法重载;this关键字和super关键字

    1:方法重写和方法重载的区别?方法重载能改变返回值类型吗? 方法重写: 在子类中,出现和父类中一模一样的方法声明的现象. 方法重载: 同一个类中,出现的方法名相同,参数列表不同的现象. 方法重载能改变 ...

  7. 继承进一步使用,以及super关键字

    目标: 1)掌握子类对象实例化过程 2)掌握方法覆盖概念和实现. 3)掌握super关键字的作用. 一,子类对象实例化过程 子类对象在实例化之前,必须先调用父类中的构造方法,再调用子类中的构造方法. ...

  8. OC基础--self关键字&super关键字

    PS:OC中的self关键字可以与C#中的this关键字区分记忆,虽然区别还是很大的. OC中的super关键字指的是父类指针 一.self关键字必须了解的知识: 1.使用场合:只能用在方法中(对象方 ...

  9. 面向对象编程(十)——继承之Super关键字及内存分析

    Super关键字

  10. 成员变量的隐藏,方法的覆盖,super关键字

    成员变量的隐藏:当父类和子类有相同的成员变量时,即定义了与父类相同的成员变量时,就会发生子类对父类变量的隐藏.对于子类的对象来说,父类中的同名成员变量被隐藏起来,子类就会优先使用自己的成员变量,父类成 ...

随机推荐

  1. CUBRID学习笔记 29 web管理中文语言文件 CUBRID教程

    网站的中文语言文件部分 http://files.cnblogs.com/files/wang2650/Messages.7z

  2. Python基础学习笔记(十二)文件I/O

    参考资料: 1. <Python基础教程> 2. http://www.runoob.com/python/python-files-io.html ▶ 键盘输入 注意raw_input函 ...

  3. 转 图片资源加密,Lua文件加密

    游戏开发中常遇到资源保护的问题. 目前游戏开发中常加密的文件类型有:图片,Lua文件,音频等文件,而其实加密也是一把双刃剑. 需要安全那就得耗费一定的资源去实现它.目前网上也有用TexturePack ...

  4. iOS - File Archive/UnArchive 文件压缩/解压

    1.ZipArchive 方式 ZipArchive 只能对 zip 类文件进行压缩和解压缩 GitHub 网址:https://github.com/ZipArchive/ZipArchive Zi ...

  5. JavaScript的严格模式

    js除了在普通的常规模式,ECMAscript 5添加了第二种运行模式:"严格模式"(strict mode).严格模式支持IE9+ Chrome FireFox 等主流浏览器. ...

  6. Android 点击文字实现跳转

    在web页面中,有a标签的超链接实现跳转,同样在Android当中,用TextView控件来显示文字,实现它的事件来跳转. 核心代码如下: //以下代码写在onCreate()方法当中 textVie ...

  7. iOS 开发之 Xcode6 打包生成ipa给测试

    Xcode 6正式版Version 6.0.1 (6A317)已经放出Mac AppStore,之前为了体验swift也安装过beta版,但是并没有注意到6系Xcode对于导出ipa的变化,更新正式版 ...

  8. 注意64位整形,int64,long long

    在Xplorer中编译运行: int64_t  mask = 0xffffffffffffffffLL; if((j+64)>width) { printf("%x %d " ...

  9. this和call

    function foo(x){ console.log(x);} foo.call(this,'abc');console.log(this); ---- abc

  10. 队列 - 从零开始实现by C++

    参考链接:数据结构探险-队列篇 数据结构太重要了,不学好是没法进行软件开发的. C++写数据结构基本套路:一个.h文件写该数据结构类的接口:一个.cpp文件写接口的具体实现:一个main.cpp用于测 ...