//extends,this,super,final 关键字的应用
/*
final 关键字的应用:
1.如果 final 关键字加在了一个类前面,比如: final class Person 那么 Person 类就不能再被其它的类去 extends,
这个类就是最终版本的
2.如果 final 关键字加在了一个类的某个方法前,比如:public final void talk()那么这个方法就不能被子类重写,
这个方法就是最终版本
3.如果 final 关键字加在了一个属性前:比如:public final String name ,那么 name 这个属性就成为了一个常量,就
必须对这个常进行赋值,一般 final 关键字和 static 组合使用 象这样 public static final String name = "zhangsan";
这样 name 属性就成了一个静态常量,就必须对它象上面这样进行显式初始化,此外象 public static final 标识的属性在其它类中
可以直接通过 类名.属性名的 方式访问,非常方便
*/
class Person {
public static final String name = "lisi";
public int age;
public Person() {
}
public Person(int age) {
this.age = age;
}
public void talk() {
System.out.println("name = " + name + ",age = " + age);
}
}
class Student extends Person {
private String school;
public Student(int age) {
super(age); //利用super关键字调用父类中相匹配的构造方法
}
public Student(int age,String school) {
this(age); //利用this关键字调用本类中其它构造方法
this.school = school;
}
public void talk() { //子类中的 talk 方法覆盖父类中同名的方法
/*利用 super.方法 来调用父类中的同名方法,调用父类中的同名方法时不可直接写成 talk(),那就是自己调用
自己了(成了一个递归调用,没有结束条件最终成为死循环)
*/
super.talk();
System.out.print(",school = " + school);
}
}
class TestStudent {
public static void main(String[] args) {
Student s = new Student(10,"yzschool");
s.talk();
}
}
分享到:
相关推荐
1. final关键字 在Java中, 可以使用final关键字修饰类、方法以及成员变量。 (1).final标记的类不能被继承; (2).final标记的方法不能被子类复写; (3).final标记的变量即成为常量,只能被赋值一次. 注意: ...
文章目录继承常用的关键字this关键字static关键字super关键字final关键字封装及权限修饰符封装的作用及其优点权限修饰符封装的使用细节多态多态的概念多态的使用要点对象的转型instanceof运算符类型自动提升及强制...
第七季主要是给大家介绍一下Java面向对象中的继承,包括:继承的概念、为什么要继承、继承的类型及特性、extends关键字、final关键字、implements关键字、super和this关键字、子类中如何调用父类中的有参、无参构造...
extends - 6 - false - 7 - final - 7 - finally - 7 - float - 8 - for - 8 - if - 8 - implements - 9 - import - 9 - instanceof - 9 - int - 9 - interface - 10 - long - 10 - native - 10 - new - 11 - null -...
this:关键字,对本类对象的引用,可以调用本类的属性和方法 this(); 对本类对象构造的调用,如果有参则调用有参构造 而且this()必须放在构造方法中的第一行 封装 :隐藏内部的实现细节,对外提供公共的接口 ...
JDK的主要包,import(导入类),package(包机制),继承(extends)使用要点,implements,方法的重写(override),final(关键字)使用,instanceof(关键字),组合的核心,super本质是什么,封装(encapsulation),封装的简单规则,访问...
30 final关键字 43 30.1 final可以修饰到3个地方 43 30.2 引用类型加final修饰表示引用不可变 44 31 static关键字 44 31.1 static关键字可以修饰4个地方 44 31.2 静态属性 44 31.3 静态的与实例的 45 31.4 静态代码...
关键字 void byte int long char short float double String StringBuffer StringBuilder Array Collection Collections List ArrayList LinkedList Vector Set HashMap TreeMap LinkedHashMap ConcerrentHashMap ...
关键字 void byte int long char short float double String StringBuffer StringBuilder Array Collection Collections List ArrayList LinkedList Vector Set HashMap TreeMap LinkedHashMap ConcerrentHashMap ...
public Object get(String key) throws Exception{ try{ return this.getFromCache(this.keyPrefix+"_"+key,this.refreshPeriod); } catch (NeedsRefreshException e) { this....
final 说明一个类为最终类,即改类不能再有子类。 public 说明类为公共类,该类可以被当前包以外的类和对象使用。 private 说明类为私有类。 (4) extends 子句用于说明类的直接超类。 (5) implements ...
关键字 void byte int long char short float double String StringBuffer StringBuilder Array Collection Collections List ArrayList LinkedList Vector Set HashMap TreeMap LinkedHashMap ConcerrentHashMap ...
abstract do implement private this boolean double import protected throw break else instanceof public throws byte extends int return transient case false interface short true catch final long static ...
C) 子类必须通过super关键字调用父类的构造函数。 D) 子类无法继承父类的构造函数。 28.下面说法正确的是( )。 A) final 可修饰类、属性、方法。 B) abstract可修饰类、属性、方法。 C) 定义抽象方法需有方法的返回...
•Java通过关键字extends来实现,实现继承的类称为子类,被继承的类称为基类、超类、父类。父类是大类,子 类是小类。 •Java的继承是单继承,每个子类最多只有一个直接父类。 本文原创作者:pipi-...
extends, final, finally, float, for, goto, if, implements, import, instanceof, int, interface, long, native, new, package, private, protected, public, return, short, static, strictfp, super, switch, ...
person不能加上where 关键字 4.在删除注意:sb.deleteCharAt(sb.length() - 1); 四、AndroidCRUD业务对SQLite的CRUD操作 1.ContentValues对象的使用 2.android内部insert添加数据的方法,而且values这个不给...
当应用程序在对象上调用了一个需要花费很长时间来执行的方法,并且不希望让程序等待方法的返回时,就应该使用异步编程,在很多情况下采用异步途径往往更有效率。 20、abstract class和interface有什么区别? ...
C) final D) instance 题目14:a 程序如下: String s1=new String("Hello"); String s2=new String("there"); String s3=new String(); 下面哪个是合法的操作符?(选择1项) A) s3=s1 + s2; B) s3=s1-s2; C) ...
6.2.4 再看final关键字 180 6.2.5 java.lang.object 181 6.2.6 关于垃圾收集 186 6.2.7 再看抽象类 189 6.3 重点复习 191 6.4 课后练习 192 chapter7 接口与多态 199 7.1 何谓接口 200 7.1.1 接口...