Java_面向对象中的this和super用法
this:
1、使用在类中,可以用来修饰属性、方法、构造器
2、表示当前对象或者是当前正在创建的对象
3、当形参与成员变量重名时,如果在方法内部需要使用成员变量,必须添加 this 来表明该变量时类成员
public void setname(string name) { this.name = name; }
4、在任意方法内,如果使用当前类的成员变量或者成员方法可以在其前面添加 this ,增强程序的阅读性
5、在构造器中使用 “ this(形参列表) ” 显示的调用本类中重载的其他的构造器
>5.1 要求 “ this(形参列表) ” 要声明在构造器的首行!
//构造方法 public person(){} public person(string name){ this(); this.name = name; } public person(string name,int age){ this(name); this.age = age; }
>5.2 类中若存在 n 个构造器,那么最多有 n-1 构造器中可以使用 “ this(形参列表) ”
package com.basis; public class person { private string name; private int age; //构造方法 public person(){} public person(string name){ this(); this.name = name; } public person(string name,int age){ this(name); this.age = age; } //setter 和 getter 方法 public string getname() { return name; } public void setname(string name) { this.name = name; } public int getage() { return age; } public void setage(int age) { this.age = age; } public void show(){ system.out.println("name:"+this.getname()+" age:"+this.getage()); } }
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
super(继承性):
1、super, 相较于关键字 this , 可以修饰属性、方法、构造器
2、super 修饰属性、方法:在子类的方法、构造器中,通过 super.属性 或者 super.方法 的形式,显式的调用父类的指定属性或者方法。尤其是,当子类与父类有同名的属性、或者方法时,调用父类中的结构,一定要用 “super.”
3、通过 “super(形参列表)” ,显式的在子类的构造器中,调用父类指定的构造器
>3.1 要求 “ super(形参列表) ” 要声明在构造器的首行!
>3.2 任何一个类(除 object 类)的构造器的首行,要么显式的调用本类中重载的其他构造器 “this(形参列表)” 或显式的调用父类中指定的构造器 “super(形参列表)” ,要么默认的调用父类空参的构造器 “super()”
>3.3 建议在设计类时,提供一个空参的构造器!
class student extends person{ private int id; public student() { super(); } public student(string name, int age,int id) { super(name, age); this.id = id; } public student(string name,int id) { super(name); this.id = id; } }
推荐阅读
-
浅谈python中的面向对象和类的基本语法
-
Python面向对象中super用法与MRO机制
-
PHP面向对象程序设计中的self、static、parent关键字用法分析
-
Java_面向对象的 static 和 abstract
-
JAVA 基础 /第六课: 面向对象 / JAVA中的类和对象
-
JAVA 基础 /第六课: 面向对象 / JAVA中的类和对象
-
Asp中err和error对象的属性详解及用法示例
-
Java_面向对象中的this和super用法
-
asp中记录集对象的getrows和getstring用法分析
-
Java面向对象中:方法重载和方法重写以及区别、 this关键字和super关键字以及区别