关键字this和supper、final关

问题描述

关键字this和supper、final关

对于关键字this和supper、final关键字以及用法和主要功能是什么。我都被搞混乱了求大神指点
其中对于this.数据成员、this.成员方法(参数)、this(参数)有什么区别
和supper.数据成员、supper、成员方法(参数)、supper(参数) 有各自存在什么不同什么时候改用那个,以及怎么用
求大神指点

解决方案

final表示这个类无法派生,修饰方法的时候表示这个方法没法重写。
this显然表示当前对象,一般情况下,this可以省略。有时候我们会定义一个参数或者变量和成员重名,那么this就必不可少了。
比如:

 class A
{
    public int x;
        public int y;
        public A(int x)
        {
            this.x = x; //这里this不可省略
                this.y = 1; //也可以写成y = 1;
        }
}

supper应该是你写错了,是super吧,表示基类。比如说你重写了一个方法,但是要做的事情类似基类的方法,但是略多一些,那么除了重新复制粘贴一遍基类的代码,更好的方式就是用super:

 class A
{
    public void foo()
        {
            dosth();
        }
}
class B extends A
{
    public void foo()
        {
            super.foo(); //相当于写一遍基类foo的代码
                dosthother();
        }
}

解决方案二:

看样子像是 Java 语言:
this 当前类指针
supe 父类指针,可以用来调用父类的成员方法
final 一个final类是无法被任何人继承的,将方法声明为final,那就说明你已经知道这个方法提供的功能已经满足你要求,不需要进行扩展,并且也不允许任何从此类继承的类来覆写这个方法,但是继承仍然可以继承这个方法,也就是说可以直接使用;final成员变量表示常量,只能被赋值一次,赋值后值不再改变。

解决方案三:

[url=http://88688lin.blog.163.com/blog/static/110248187200631201711305/]java 技术点总结!1) this supper static final 关键字的用法 [/url]

解决方案四:

什么语言?

this是调用当前类内成员方法
super是调用父类的成员方法

时间: 2024-11-05 03:45:17

关键字this和supper、final关的相关文章

Android源码中final关键字的用法及final,finally,finalize的区别_Android

hi 大家好,今日,天气剧变,非常冷,不想出门,于是给大家写了篇文章,关于android final关键字及final,finally,finalize的区别相关知识,具体详情如下所示: 先预告一下,下文中仅涉及java语法的讨论,和Android源码关系不大,请不要有阅读压力. 我发现在Android的源码中很多地方对final关键字的用法很是"别出心裁",之所以这么说是因为我从没看过是这么使用final关键字的,一个典型的例子是View类中onScrollChanged方法(不妨将

Java 中的关键字 final

final 根据程序上下文环境,Java关键字final有"这是无法改变的"或者"终态的"含义,它可以修 饰非抽象类.非抽象类成员方法和变量.你可能出于两种理解而需要阻止改变:设计或效率. final类不 能被继承,没有子类,final类中的方法默认是final的. final方法不能被子类的方法覆盖,但可以被继 承. final成员变量表示常量,只能被赋值一次,赋值后值不再改变. final不能用于修饰构造方法. 注意:父类的private成员方法是不能被子类方法

详解Java中的final关键字的使用_java

final含义 final是Java中的一个保留关键字,可以声明成员变量.方法和类.一旦你将引用声明为final类型,你将不能再改变这个引用了.编译器会检查代码,如果你试图将变量再次初始化的话,编译器会报编译错误.final变量 凡是对成员变量或者本地变量(在方法中的或者代码块中的变量称为本地变量)声明为final的都叫做final变量.下面是final修饰变量的例子: final int constValue = 1; // constValue = 2; The final local va

Java中final关键字详解_php技巧

谈到final关键字,想必很多人都不陌生,在使用匿名内部类的时候可能会经常用到final关键字.另外,Java中的String类就是一个final类,那么今天我们就来了解final这个关键字的用法. 主要介绍:一.final关键字的基本用法.二.深入理解final关键字 一.final关键字的基本用法 在Java中,final关键字可以用来修饰类.方法和变量(包括成员变量和局部变量).下面就从这三个方面来了解一下final关键字的基本用法. 1.修饰类 当用final修饰一个类时,表明这个类不能

浅谈Java中的final关键字与C#中的const, readonly关键字_java

在编程语言中都有某种方式,告知编译器一块数据是恒定不变的.有两个需求 1. 一个永不改变的编译器常量 2. 一个在运行时被初始化的值,而这个值不会被改变 在Java中,使用final修饰变量实现这两个需求 <pre name="code" class="java">//编译器常量 private final int valueOne = 9; private static final int VALUE_TWO = 99; public static f

深入浅析Java中的final关键字_java

谈到final关键字,想必很多人都不陌生,在使用匿名内部类的时候可能会经常用到final关键字.另外,Java中的String类就是一个final类,那么今天我们就来了解final这个关键字的用法.下面是本文的目录大纲: 一.final关键字的基本用法 二.深入理解final关键字 若有不正之处,请多多谅解并欢迎指正. final 对于常量来说,意味着值不能改变,例如 final int i=100.这个i的值永远都是100.但是对于变量来说又不一样,只是标识这个引用不可被改变,例如 final

string-java一个final关键字的问题

问题描述 java一个final关键字的问题 这段代码为什么输出结果是那样的,难道java不是一步步往下执行吗? public class Test { public static void main(String[] args) { String a = "hello2"; final String b = "hello"; String d = "hello"; String c = b + 2; String e = d + 2; Syst

说一说java关键字final和transient_java

首先,说说final. final关键字可以修饰变量,方法,类.final变量:需求: 1 需要一个永不改变的编译时常量 2 一个运行时被初始化的值,不希望被更改好处:编译时就执行的计算,减轻运行时的负担扩展: 可以修饰基本类型和引用对象.修饰基本类型的时候,表示数值很定不变.修饰对象引用的时候,一旦引用被初始化指向一个对象,就无法再将它更改指向另一个对象(该对象本身是可以修改的)空白final final修饰但又没有给出初始值的域 必须在域的的定义或构造器内用表达式给final赋值(final

Swift用final关键字来防止重写_Swift

final关键字在大多数的编程语言中都存在,表示不允许对其修饰的内容进行继承或者重新操作.Swift中,final关键字可以在class.func和var前修饰. 通常大家都认为使用final可以更好地对代码进行版本控制,发挥更佳的性能,同时使代码更安全.下面通过实例代码给大家介绍swift用final关键字来防止重写. /** 用final关键字来防止重写 final,最后的,最终的;决定性的;不可更改的 final 修饰类的话,表示这个类不可以被继承. 如果修饰属性或者方法,表示相应的属性或