java this关键字
this关键字的作用
this关键字的作⽤java中this关键字有两个作⽤:
1.访问成员变量:在构造器或者⽅法中可以使⽤this关键字访问成员变量
2.访问构造器:可以在⽆参构造器中访问有参构造器,⽅法中不能访问构造器
public class Car {
//this关键字
String name;
String color;
//1.⽅法或者构造器中访问成员变量 2.访问构造器
public Car(){
//访问有参构造器,⽅法中不能访问构造器,this作为构造器时只能放在第⼀⾏
this("bwm","blue");
}
public Car(String name,String color){
//构造器中访问成员变量
= name;
this.color = color;
}
public void run(){
//⽅法中访问成员变量
System.out.println(+"跑起来了");
}
public static void main(String[] args) {
//访问有参构造器
Car car = new Car();//这⾥没有传⼊参数
System.out.println(+car.color);
//⽅法以及构造器中访问成员变量
Car car2 = new Car("benchi","red");
car2.run();
}
}
结果如下:
bwmblue
benchi跑起来了。
Java里的this到底是什么意思
Java里的this到底是什么意思
this代表当前对象的意思。
这个this肯定是用在某个类的方法里吧。
呵呵,我们继续往下说。
举个例子:
public class persion{
private String name=null;
private int age;
public void setName(String name){
=name;
}
public String getName(){
return name;
}
}
在这个类中setName方法中第一个变量用this是为了和本方法的参数this做区别,表示这个name指的是Person这个类的name属性,而不是name参数,如果去掉这个this,执行完这个方法后,Person类的name属性仍然为null
getName方法返回的Person类的name,之所以不用this是因为没有必要,因为编译器会知道这个name就指的是Person的name 而不是其他的name(因为找个方法没有name变量和它混淆)。
当然,这个方法你也可以显示的使用return ,没错。
这些都是最基本的了。
开始学只要记住这个就可以了。
慢慢的其
他的用法也就无师自通了!。
Java中的两个关键字——super、this
Java中的两个关键字——super、thisJava中的两个关键字——super、this ⼀、supersuper 是java中⽅的⼀个关键字,⽤它可以引⽤⽗类中的成员:super可⽤于访问⽗类中定义的属性super可⽤于调⽤⽗类中定义的成员⽅法super可⽤于在⼦类构造器中调⽤⽗类的构造器使⽤super关键字注意事项:1、当⼦类和⽗类都有同名的属性时,在⼦类中如果要使⽤⽗类的属性 super . 属性2、 super只能应⽤在成员⽅法和构造⽅法中,不能⽤在静态⽅法中(和this是⼀样的)3、如果在构造⽅法中使⽤必须放在第⼀⾏4、在构造⽅法中this()和super()不能同时出现super没有什么需要解释的地⽅,我们⽤代码来看看super具体的⼀些强⼤功能吧⽰例⼀、使⽤super调⽤基类的属性:public class Father { int num=20;}public class Child extends Father{ int num; public void print(){ num=10; super.num=30; System.out.println("num="+num); System.out.println("="+super.num); }}public class Test { public static void main(String[] args) { Child xm=new Child(); xm.print(); }}运⾏结果:⽰例⼆、使⽤super调⽤基类中的构造⽅法:public class Father { int num; public Father() { System.out.println("⽗类中的⽆参构造⽅法---"); } public Father(int num){ System.out.println("⽗类中的有参的构造⽅法----"+num); }}public class Child extends Father{ int num; public Child() { super(30); System.out.println("⼦类⽆参构造⽅法---"); } public Child(int num) { this.num = num; System.out.println("⼦类中的有参的构造⽅法---"+num); }}解释⼀下上⾯的这段代码:在Child类中的第⼀个构造函数⾥⾯,super(30);它会去调⽤⽗类中嗲有⼀个int型参数的构造⽅法。
this的用法归纳总结
this的用法归纳总结一、this关键字的基本概念与用法在许多编程语言中都有一个关键字叫做this,它代表当前对象或者当前执行上下文。
在JavaScript中,this是一个非常重要的概念,在不同的情况下具有不同的含义和作用。
本文将对this的用法进行归纳总结,帮助读者更好地理解和使用this关键字。
1.1 this的含义和作用简单来说,this关键字用于指向当前正在执行代码的对象。
它可以在方法内部引用对象自身,并提供了一种灵活的方式来访问对象属性和调用方法。
通过使用this,我们可以避免使用硬编码来引用对象,从而使得代码更加通用和可重复使用。
1.2 this的指向问题在JavaScript中,this的指向是动态确定的,取决于函数被调用时所处的上下文。
以下列举几种常见情况:1.2.1 方法调用时:当一个函数作为某个对象的方法调用时,this指向该对象。
1.2.2 函数调用时:当一个独立函数被直接调用时(不作为对象的方法),this指向全局对象(浏览器环境下是window)。
1.2.3 构造函数创建实例时:当通过new关键字调用构造函数创建一个新的实例时,this指向新创建的对象。
1.2.4 apply和call方法调用时:当使用apply或call方法来调用函数时,通过传递上下文参数,可以手动控制this的指向。
1.3 this的常见使用场景1.3.1 在对象内部访问属性和方法:通过使用this关键字,可以直接在对象内部访问自身的属性和方法。
例如:```javascriptconst person = {name: 'Alice',sayHello() {console.log(`Hello, ${}!`);}};person.sayHello(); // 输出 "Hello, Alice!"```1.3.2 DOM事件处理函数中:当给DOM元素添加事件处理函数时,该函数中的this指向触发事件的DOM元素。
java中的this和super的作用和异同和C++中调用父类的构造函数
java中的this和super的作⽤和异同和C++中调⽤⽗类的构造函数这⼏天看到类在继承时会⽤到this和super,这⾥就做了⼀点总结,与各位共同交流,有错误请各位指正~thisthis是⾃⾝的⼀个对象,代表对象本⾝,可以理解为:指向对象本⾝的⼀个指针。
this的⽤法在java中⼤体可以分为3种:1.普通的直接引⽤这种就不⽤讲了,this相当于是指向当前对象本⾝。
2.形参与成员名字重名,⽤this来区分:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17class Person {private int age = 10;public Person(){System.out.println("初始化年龄:"+age);}public int GetAge(int age){this.age = age;return this.age;}}public class test1 {public static void main(String[] args) {Person Harry = new Person();System.out.println("Harry's age is "+Harry.GetAge(12)); }}运⾏结果:初始化年龄:10Harry's age is 12可以看到,这⾥age是GetAge成员⽅法的形参,this.age是Person类的成员变量。
3.引⽤构造函数这个和super放在⼀起讲,见下⾯。
supersuper可以理解为是指向⾃⼰超(⽗)类对象的⼀个指针,⽽这个超类指的是离⾃⼰最近的⼀个⽗类。
super也有三种⽤法:1.普通的直接引⽤与this类似,super相当于是指向当前对象的⽗类,这样就可以⽤super.xxx来引⽤⽗类的成员。
2.⼦类中的成员变量或⽅法与⽗类中的成员变量或⽅法同名12 3 4 5 6 7 8 9 10 11 12 13class Country {String name;void value() {name = "China";}}class City extends Country {String name;void value() {name = "Shanghai";super.value(); //调⽤⽗类的⽅法 System.out.println(name);13 14 15 16 17 18 19 20 21 System.out.println(name);System.out.println();}public static void main(String[] args) { City c=new City();c.value();}}运⾏结果:ShanghaiChina可以看到,这⾥既调⽤了⽗类的⽅法,也调⽤了⽗类的变量。
java中this的理解
java中this的理解
在Java中,关键字this代表当前对象的引用。
它可以用来引用当前对象的实例变量、方法和构造函数。
this关键字通常用于消除实例变量和局部变量之间的歧义,或者在构造函数中调用其他构造函数。
当一个对象被创建时,它会在内存中分配一块空间,并且在这块空间中包含了它的实例变量。
当我们在对象的方法中使用this关键字时,实际上是在引用这块内存空间。
这样就可以明确地指出我们要访问或者操作的是当前对象的实例变量,而不是方法中的局部变量。
另外,this关键字还可以用来在一个构造函数中调用另一个构造函数。
这种情况下,使用this()来调用其他构造函数,可以避免重复的初始化代码,并且可以确保所有的构造函数都会被调用到。
总之,this关键字在Java中扮演着非常重要的角色,它可以帮助我们清晰地表达出当前对象的引用,避免歧义,并且在构造函数中起到了很好的辅助作用。
对于Java程序员来说,理解和正确使用this关键字是非常重要的。
this关键字的三种用法
this关键字的三种用法
this 关键字在编程中有以下三种用法:
1. 访问类的成员变量:在类的方法内部,通过 this 关键字可以明确地访问类的成员变量,解决与局部变量冲突的问题。
在上述代码中,有两个 age 变量,一个是类的成员变量,一个是构造方法的局部变量,this.age 使用的就是成员变量,而单单一个 age 则是指局部变量。
2. 在构造方法中调用其他构造方法:因为构造方法是在实例化对象时,被 Java 虚拟机自动调用的,所以构造方法无法像其他方法一样自由地调用,这时可以使用 this 关键字在一个构造方法中调用其他构造方法。
3. 调用成员方法:this 关键字可以表示对当前对象的引用,因此可以调用当前类的普通方法。
在实际使用中,this 关键字的用法可能会根据编程语言和具体的上下文而有所不同。
在使用时,需要根据具体情况来确定正确的用法。
java中的this用法
java中的this用法
在Java中,this关键字有以下用法:
1. 指代当前对象:this可以用来指代当前对象,即当前方法被调用的对象。
可以使用this来调用当前对象的属性或方法。
2. 区分局部变量和成员变量:当方法的参数名或局部变量与成员变量重名时,可以通过使用this关键字来引用成员变量。
3. 作为构造器:在一个构造器内部,可以使用this关键字来调用同一类的另一个构造器。
这样可以避免重复的初始化代码。
4. 作为方法参数传递:this关键字可以作为参数传递给其他方法,以便在其他方法中使用当前对象。
5. 作为返回值:this关键字也可以作为返回值返回给调用者。
这样可以实现方法链式调用。
总的来说,this关键字的主要作用是指代当前对象,帮助在类中访问成员变量、方法或调用构造器的重载版本。
this和super关键字的使用方法
StringBuffer是线
StringBuilder在线程安全性要求不高的情况下建议使用StringBuilder 因为它的效率会更高
this的使用方法:(代表当前类的对象)
this.成员变量//this.方法名
this.([参数]);调用当前类的构造方法
super的使用方法:(代表的是父类的对象)
super.成员变量//super.方法名
super([参数]);调用父类的构造方
创建对象时(Person person=new Person();//Person person=new Person("张三");),这两种情况下,无论父类有没有有参的构造方法,系统都会默认的先调用父类的无参的构造方法,再调用子类的无参或有参的构造方法。
三、用来修饰类,一旦这个类被final修饰,那么这个类也就不能被继承、
String 、 StringBuffer、StringBuilder的区别
String常量字符串,所以String对象一旦创建就无法修改,一旦使用字符串连接符就会创建一个新的对象
final关键字的使用方法:
一、用来修饰变量,变量一旦被final修饰,那么这个变量就是一个常量,通常情况下,常量声明之后要立即赋值, 而且通常情况下会使用static和final共同修饰常量;
二、用来修饰方法,一旦这个方法被final修饰,这个方法就不可以被重写
Javathis关键字详解(3种用法)
Javathis关键字详解(3种⽤法)Java this关键字详解(3种⽤法)this 关键字是常⽤的关键字,可⽤于任何实例⽅法内指向当前对象,也可指向对其调⽤当前⽅法的对象,或者在需要当前类型对象引⽤时使⽤。
下⾯我们根据⽰例分别讲解 this 关键字的作⽤。
this.属性名⼤部分时候,普通⽅法访问其他⽅法、成员变量时⽆须使⽤ this 前缀,但如果⽅法⾥有个局部变量和成员变量同名,但程序⼜需要在该⽅法⾥访问这个被覆盖的成员变量,则必须使⽤ this 前缀。
例 1假设有⼀个教师类 Teacher 的定义如下:1. public class Teacher {2. private String name; // 教师名称3. private double salary; // ⼯资4. private int age; // 年龄5. }在上述代码中 name、salary 和 age 的作⽤域是 private,因此在类外部⽆法对它们的值进⾏设置。
为了解决这个问题,可以为 Teacher 类添加⼀个构造⽅法,然后在构造⽅法中传递参数进⾏修改。
代码如下:1. // 创建构造⽅法,为上⾯的3个属性赋初始值2. public Teacher(String name,double salary,int age) {3. = name; // 设置教师名称4. this.salary = salary; // 设置教师⼯资5. this.age = age; // 设置教师年龄6. }在 Teacher 类的构造⽅法中使⽤了 this 关键字对属性 name、salary 和 age 赋值,this 表⽰当前对象。
=name语句表⽰⼀个赋值语句,等号左边的 是指当前对象具有的变量 name,等号右边的 name 表⽰参数传递过来的数值。
创建⼀个 main() ⽅法对 Teacher 类进⾏测试,代码如下:1. public static void main(String[] args) {2. Teacher teacher = new Teacher("王刚",5000.0,45);3. System.out.println("教师信息如下:");4. System.out.println("教师名称:"++"\n教师⼯资:"+teacher.salary+"\n教师年龄:"+teacher.age);5. }运⾏该程序,输出的结果如下所⽰。
this关键字
this关键字this代表它所在函数所属对象的引⽤。
简单说:哪个对象在调⽤this所在的函数,this就代表哪个对象。
this关键字主要有以下三个作⽤:this调⽤本类中的属性,也就是类中的成员变量;this调⽤本类中的其他⽅法;this调⽤本类中的其他构造⽅法,调⽤时要放在构造⽅法的⾸⾏。
(this语句只能定义在构造函数的第⼀⾏,因为在初始化时须先执⾏)this关键字的基本⽤法引⽤成员变量public class Person{String name; //定义成员变量nameprivate void SetName(String name) { //定义⼀个参数(局部变量)name=name; //将局部变量的值传递给成员变量}}如上⾯这段代码中,Person类中有⼀个成员变量name,同时在SetName⽅法中有⼀个形式参数,名字也是name,然后在⽅法中将形式参数name的值传递给成员变量nam。
虽然我们可以看明⽩这个代码的含义,但是作为Java编译器它是怎么判断的呢?到底是将形式参数name的值传递给成员变量name,还是反过来将成员变量name的值传递给形式参数name呢?也就是说,两个变量名字如果相同的话,那么Java如何判断使⽤哪个变量?此时this这个关键字就起到作⽤了。
this这个关键字其代表的就是对象中的成员变量或者⽅法。
也就是说,如果在某个变量前⾯加上⼀个this 关键字,其指的就是这个对象的成员变量或者⽅法,⽽不是指成员⽅法的形式参数或者局部变量。
因此在上述代码中,代表的就是对象中的成员变量,⼜叫做对象的属性,⽽后⾯的name则是⽅法的形式参数,代码=name就是将形式参数的值传递给this指向对象的成员变量。
⼀看到这个this关键字就知道现在引⽤的变量是成员变量或者成员⽅法,⽽不是局部变量。
这⽆形中就提⾼了代码的阅读性。
调⽤类的构造器⽅法public class Person {public Person(){ //⽆参构造器⽅法this(“Hello!”);}public Person(String name){ //定义⼀个带形式参数的构造⽅法}}在上述代码中,定义了两个构造⽅法,⼀个带参数,另⼀个没有带参数。
Java中this和super的用法详解
Java中this和super的⽤法详解前⾔这次我们来回顾⼀下this和super这两个关键字的⽤法,作为⼀名Java程序员,我觉得基础是最重要的,因为它决定了我们的上限,所以我的⽂章⼤部分还是以分享Java基础知识为主,学好基础,后⾯的知识我想学起来就变得简单。
废话不多说,进⼊正⽂。
thisthis 关键字只能在⽅法内部使⽤,表⽰对调⽤⽅法的那个对象的引⽤。
其实简单来说 this 关键字就是表⽰当前对象,下⾯我们来具体介绍 this 关键字在Java中的⽤法。
1、调⽤成员变量在⼀个类的⽅法内部,如果我们想调⽤其成员变量,不⽤ this,我们会怎么做?public class ThisTest {private String name = "xiaoming";public String getName() {return name;}public void setName(String name) {name = name;}}看上⾯的代码,我们在ThisTest类中创建了⼀个name属性,然后创建了⼀个setName⽅法,注意这个⽅法的形参也是String name,那么我们通过name = name这样赋值,会改变成员变量name的属性吗?public static void main(String[] args) {ThisTest thisTest = new ThisTest();thisTest.setName("xiaoma");System.out.println(thisTest.getName());}打印结果是xiaoming,⽽不是我们重新设置的xiaoma,显然这种⽅式是不能在⽅法内部调⽤到成员变量的。
因为形参的名字和成员变量的名字相同,setName⽅法内部的name = name,根据最近原则,编译器默认是将这两个name属性都解析为形参name,从⽽导致我们设值操作和成员变量name完全没有关系,当然设置不了。
关键字this和super在Java中的应用分析
S s m. t r t (新 对 象 实 例 化 ” ; yt o . i l ” e up n n )
)
p bi Sr gg t a ( { u l tn eN me ) c i
J
p bi td n ( t n a ) u l Su e t S r gn me c i
rtm ” 名 :+hs a ; eu 姓 ” tinme .
在一个Jv 类中, aa 构造方法是一个与类 同名的方法, 必须 与类的名字相 同。而且在 Jv 类 中必须存在一个构造方法 。 aa 如果在代码中没有 显示 的体现构造方法的话 ,那么编译器在 编译的时候会 自动添加一个没有形式参数的构造方法。在一
和 sp r u 来实现 e 本文就具体来分析一下 ti和 sp r hs u 的用法 e
文章编号 :10 —9 3(0 0) 1・5 -3 0 73 7 2 1 0 20 50
什 么情况下使用它们, 如何正确它们, 该文具体 分析 ti 和 sp r hs u 的使用方法。 e
关键词 :对象
中图分类号 : P T3
文献标识码 :A
也 hs . 在 Jv 中,hs a a t 是一个 引用对象本身的指针, i 用来表示当 有 些程 序 员 即 使在 没 有 相 同 变量 的时 候 , 喜 欢 使用 ti 成 员 前 的对象 , 它只和对象有关。sp r u 关键字适用于子类访 问父 变量 的形式来引用变量。这主要是从便于代码 的阅读考虑 。 e
1ti的 主 要 用 法 及 其 含 义 hs
11使 用 ti 调用本类 中的成员变量(. hs 属性 )
在 方 法 体 内 定 义 的变 量 称 为 局 部 变 量 ,在 类 的 内部 方 法 个类中可以存在 多个构造方法 ,这些构造方法都采用相 同的 体 的 外 部 定 义 的变 量 称 为成 员变 量 。如 果 成 员变 量 和 方 法 中 名 字 ,只 是形 式 参 数 不 同 。Jv 语 言 就 凭 用 户 的 参 数来 判 断 aa 的 局 部 变 量 的 名字 相 同 时 ,那 么 在 方 法 中 成 员变 量 将 会 被 屏 调用哪一个构造方法 。当一个类 中有多个构造方法时,可以 蔽 。 果 这 个 时 候还 要 使 用成 员变 量 , 需 要 使 用 关键 字 ti。 利用 t s 如 就 hs i h 关键字相互调用, 以用 “hs参数列表) 的形式完 可 ti( ”
Java语言中this关键字的用法详解_王丽丽
容赋给中
的,跟类中的属性完全不沾边。
另外,这个程序代码中,有一个成员变量n a m e,同时在方
法中有个形式参数,参数名也是n a m e。然后在方法中将形式参
数name的值传递给成员变量name。虽然我们可以看明白这个代
}
public Student (String name)
{ System.out.println("新对象实例化") ; = name ;
}
public Student (String name,int age) // 通过构造方
法赋值
{
System.out.println("新对象实例化") ;
也是相同的道理。在方法体内定义的变量称为局部变量,在类的 内部方法体的外部定义的变量称为成员变量。如果成员变量和方 法中的局部变量的名字相同时,那么在方法中成员变量将会被屏 蔽。如果这个时候还要使用成员变量,就需要使用关键字t h i s。 使用this引用成员变量的方法格式:this.成员变量名。
“this(参数列表)”的形式完成,用this修改以上的代码如下:
class Student
{ private String name ; private int age ; public Student(){
System.out.println("新对象实例化") ; } public Student (String name)
示出哪一个是类中的属性,就要加上“t h i s.属性名称”的操作,
将student类的代码改进如下:
class Student { private String name;
Java中this,static,final,const用法详解
Java中this,static,final,const⽤法详解⼀、this⽤类名定义⼀个变量的时候,定义的应该只是⼀个引⽤,外⾯可以通过这个引⽤来访问这个类⾥⾯的属性和⽅法,那们类⾥⾯是够也应该有⼀个引⽤来访问⾃⼰的属性和⽅法纳?JAVA提供了⼀个很好的东西,就是 this 对象,它可以在类⾥⾯来引⽤这个类的属性和⽅法。
Java关键字this只能⽤于⽅法⽅法体内。
当⼀个对象创建后,Java虚拟机(JVM)就会给这个对象分配⼀个引⽤⾃⾝的指针,这个指针的名字就是 this。
因此,this只能在类中的⾮静态⽅法中使⽤,静态⽅法和静态的代码块中绝对不能出现this,这在“Java关键字static、final 使⽤总结”⼀⽂中给出了明确解释。
并且this只和特定的对象关联,⽽不和类关联,同⼀个类的不同对象有不同的this。
总结⼀下,this主要要三种⽤法:1、表⽰对当前对象的引⽤!2、表⽰⽤类的成员变量,⽽⾮函数参数,注意在函数参数和成员变量同名是进⾏区分!其实这是第⼀种⽤法的特例,⽐较常⽤,所以那出来强⼀下。
3、⽤于在构造⽅法中引⽤满⾜指定参数类型的构造器(其实也就是构造⽅法)。
但是这⾥必须⾮常注意:只能引⽤⼀个构造⽅法且必须位于开始!注意:this不能⽤在static⽅法中!所以甚⾄有⼈给static⽅法的定义就是:没有this的⽅法!虽然夸张,但是却充分说明this不能在static⽅法中使⽤!⼆、staticstatic表⽰“全局”或者“静态”的意思,⽤来修饰成员变量和成员⽅法,也可以形成静态static代码块,但是Java语⾔中没有全局变量的概念。
被static修饰的成员变量和成员⽅法独⽴于该类的任何对象。
也就是说,它不依赖类特定的实例,被类的所有实例共享。
只要这个类被加载,Java虚拟机就能根据类名在运⾏时数据区的⽅法区内定找到他们。
因此,static对象可以在它的任何对象创建之前访问,⽆需引⽤任何对象。
java ppt
栈内存
1 1 2000 7 7 1970
12
堆内存
main
d2 354752 d1 587934 i 9 ex 110925
处内存状态
值 传 递 演 示 (3)
public class Example{ public static void main(String args[]){ Example ex = new Example(); int date = 9; BirthDate d1= new BirthDate(7,7,1970); BirthDate d2= new BirthDate(1,1,2000); ex.change1(date); ex.change2(d1); ex.change3(d2); System.out.println("date=" + date); d1.display(); d2.display(); } public void change1(int i){ i = 1234;} public void change2(BirthDate b){b = new BirthDate(22,2,2004);} public void change3(BirthDate b){b.setDay(22);} }
3
方法2 方法2
形式参数: 形式参数: 在方法被调用时用于接收外界输入的数据; 实参: 实参: 调用方法时实际传给方法的数据 返回值: 返回值: 方法在执行完毕后返还给调用它的环境的数据。 返回值类型: 返回值类型: 事先约定的返回值的数据类型,如无返回值,在 Java中也必须给出返回值数据类型为void。 Java类中构造方法不能有返回值类型。
10
值 传 递 演 示 (1)
Java关键字(keyword)和保留字(reserved word)的用法
Java关键字(keyword)和保留字(reserved word)的用法在java中有48个关键字和2个保留字。
经过学习,借助了谷歌的力量我将这些关键字和保留字整理如下。
一.访问限定。
1.public关键字: public的意思是公有的,public作为关键字可以放在类前,表示这个类可以被其他包中的类的对象所访问。
Public限定的类在文件中只允许有一个,且类名必须与文件名相同。
如果public用来修饰方法,表示方法可以被其他包中的类调用。
如果public用来修饰属性,则可直接通过对象名.属性来访问对象的属性。
2.private关键字: private的意思是私有的,其可调用性范围最小。
在方法的前面加上private,则方法只能由内部的方法或者构造器调用,通常,属性都是用private限定的,而一般的类前,都不加private限定。
在类继承时,父类中的private方法将不能被子类继承。
当我们给某个构造器加上private修饰符时,则不能创建某个类的对象。
3.protected关键字:protected限定符界于public和private之间。
被protected限定的方法,子类可以继承,在同一个包内可以访问,在不同的包内不可以访问。
这些关键字的用法如上所述,但为了更好的理解一些细节的问题,大家可以看一下我对下面这些问题的总结。
那么,一个类中是否可以定义两个或者两个以上的public类?我们可以在eclipse 中运行一下,结果如下:由上可见,在一个类中,Public限定的类在文件中只允许有一个,且类名必须与文件名相同。
若在类里面还要创建一个类的话,那就只能是默认的,不可以加其他访问修饰符,或者,可以在已有的类的内部,再创建一个类,但名字必须不同与文件名。
若属性使用public进行修饰,就可以直接通过对象·属性来访问对象的属性。
输出结果是name=向聘。
这里就是直接通过创建的对象来访问st对象的name属性的。
this的用法
1.this关键字:super代表父类对象。
this指对象本身。
this,super都不能放在静态方法里,因为他们时实例(对象)相关的。
注意,main 方法也是静态方法。
用法1:private int stuNo;public void setStuNo(int stuNo){this.stuNo=stuNo;}public int getStuNo(){return this.stuNo;}用法2:类的构造器可以相互调用,调用方式是使用this关键字来实现。
如:public Point(){this(0,0);相当于this.x=0;this.y=0;有this了,super就没有了。
不 } 执行super了。
public Point (double x,double y){//super();this.x=x;this.y=y;}在构造器中,super()和this(0,0);这样的,不能同时出现。
如:super();生成一个对象this(0,0);又生成一个对象都显示就有问题,super构造与this构造不能同时出现。
☆:this代表的是对象的本身。
Java语言中,方法重载要求( A )A.采用不同的参数列表。
B.采用不同的返回值类型。
C.调用时,用类名或对象名做前缀。
D.在参数列表中使用的参数名不同。
this:构造器中指该构造器所创建的新对象。
方法中指调用该方法的对象。
顺序:比如创建Person p=new Person(); extends Animal首先执行构造方法中Super这时,先走Animal类的变量定义,有赋值的给变量赋值。
然后走Animal的构造方法,然后走person类的变量定义,然后走person的构造方法。
(这是一步步递归)。
2.初始化块:不管使用哪个构造器创建对象,它都会被首先运行,在成员运行之后,然后才是构造器的主体部分被执行。
如下面的初始化块:作用是给属性赋值。
java 获取当前接口名称的方法
java 获取当前接口名称的方法在Java中,获取当前接口名称的方法有多种方式。
下面将介绍三种常用的方法:1.使用`this`关键字获取当前接口名称:```javapublic interface MyInterface {default String getInterfaceName() {return this.getClass().getSimpleName();}}public class MyClass implements MyInterface {public static void main(String[] args) {MyClass obj = new MyClass();System.out.println(obj.getInterfaceName()); //输出"MyClass"}}```在上述代码中,`MyClass`类实现了接口`MyInterface`,并实现了接口中的方法`getInterfaceName()`。
在`getInterfaceName()`方法中,我们使用`this.getClass().getSimpleName()`获取当前对象的类名,即`MyClass`。
2.使用`Class`对象获取接口名称:```javapublic interface MyInterface {default String getInterfaceName() {return MyInterface.class.getSimpleName();}}public class MyClass implements MyInterface {public static void main(String[] args) {MyClass obj = new MyClass();System.out.println(obj.getInterfaceName()); //输出"MyInterface"}}```在上述代码中,`MyInterface`接口中的`getInterfaceName()`方法直接返回了接口的类名`MyInterface.class.getSimpleName()`。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
me.getname("kate");
}
}
执行上述代码,结果如图6-17所示。
图6-17 this的用法
在该文件中,this表示当前对象。 =name语句表示一个赋值语句,是指当前对象具有的变量name,“name”表示的参数传递过来的数值。
}
public static void main(String[] args)
{
Obj_this me=new Obj_this("luci",20);
System.out.println("输出对象的属性");
System.out.println();
System.out.println(me.age);
public Obj_this(String name,int age) //构造方法
{
=name;
this.age=age;
}
public void getname(String name)
{
=name;
System.out.println(thiΒιβλιοθήκη );
java this
this关键字是Java中常用的关键字,可用于任何实例方法内,指向当前对象。也可指向对其调用当前方法的对象或在需要当前类型的对象引用时使用。
下面通过创建一个实例,来说明this关键字的用法。示例代码如下所示。
public class Obj_this
{
String name;
int age;