Java Eclipse 中 在类与方法调用中 (this)的用法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java Eclipse 中 在类与方法调用中 (this)的用法相关的知识,希望对你有一定的参考价值。
第一个类
public class Menu
Do shiyong = new Do();
public void erji()
System.out.println("\n\n\n\n\n\n\n\n\n\n\n\n\n");
System.out.println("\n***************************************************************************************************");
System.out.println("\t\t\t\t 1. 客 户 信 息 管 理\n");
System.out.println("\t\t\t\t 2. 购 物 结 算 \n");
System.out.println("\t\t\t\t 3. 真 情 回 馈\n ");
System.out.println("\t\t\t\t 4. 注 销 \n\n");
System.out.println("\n***************************************************************************************************");
System.out.println("请选择操作: ");
shiyong.erji(this);
第二个类 (被调用的类)
public class Do
public void erji(Menu Menu)
i = input.nextInt();
if(i==1)
Menu.sanji_1();
else if(i ==2 )
Menu.sanji_2();
else if(i ==3 )
Menu.sanji_3();
else if(i ==4 )
Menu.yiji();
else
System.out.println("输入有误");
以上两个代码为例 ,请问高手 第一个类中的最后一句话 shiyong.erji(this); 中为什么要用这个this 如果不是 是不是可以用其他东西代替???
还有就是 这个 this 是干嘛用的 ,我最近学的比较迷糊,Java学到了 类与方法,总是搞不清楚.....往说的详细一些 万分感谢....
this的用法
1、表示对当前对象的引用!
public class A
public A getA()
return this;//表示获取当前实例本身
2、表示类的成员变量,而非函数参数,注意在函数参数和成员变量同名是进行区分!
public class A
private int a = 0;//位置1
public A getA(int a)
this.a = a;//前面this.a表示 位置1 的a,赋值=号右侧的表示参数a
3、用于在构造方法中引用满足指定参数类型的构造器。
public class A
public A(int a)
public A()
this(1);//这里调用自身的构造函数public A(int a)
参考技术A this这里指是当前类的一个实例,这里完全可以用new Menu()代替
当一个类中全局变量和局部变量重名时,通过this可以区分开:
如:
public class A
int i = 2 ; //qu ju bian liang
public void set(int i)
this.i = i; //这里左边是全局变量i,右边是方法参数i
public void f()
int i = 3 ;
System.out.println(i); //输出3
System.out.println(this.i); //输出全局变量(类变量)2
public static void main(String[] args)
new A().f();
本回答被提问者采纳 参考技术B this只能用在方法或构造方法中,用于获得调用当前的构造方法和方法的对象引用
public class DemoD
private int c,d;
DemoD(int a,int b) //构造方法
//这里用到了this意思是说将方法中声明的a参数传给左面前面声明的属性c
//主要是为了辨认属性,让代码增强可读性
this.c = a;
this.d = b;
public void add() //方法
//用this来表示当前的属性
//可以写成return a+b;
return this.a+this.b;
至于shiyong.erji(this);可以用new 类名();取代 参考技术C 你这两个类中有两个名字相同的erji方法,但其实他们没有任何关系,仅仅是名字一样而已,区分他们主要看参数,Do类中的erji方法有一个Menu类类型参数,所以调用时需要传一个Menu对象,正好你在Menu对象中调用,这时候就可以用this表示把本类作为参数传递过去。 参考技术D 在没回答你之前,我想说你最好还是找个老师给你讲讲,有些东西看很多天不如老师一节课
this只能用在方法或构造方法中,用于获得调用当前的构造方法和方法的对象引用
public class DemoD
private int c,d;
DemoD(int a,int b) //构造方法
//这里用到了this意思是说将方法中声明的a参数传给左面前面声明的属性c
//主要是为了辨认属性,让代码增强可读性
this.c = a;
this.d = b;
public void add() //方法
//用this来表示当前的属性
//可以写成return a+b;
return this.a+this.b;
至于shiyong.erji(this);可以用new 类名();取代
祝你自学成功
Python-类与类之间的相互调用
类是现实世界在计算机中的反映,它将数据和对这些数据的操作封装在一起
对象就是类的实例
在python设计语言中,跟其他类型的编程语言一样,可以直接使用class定义类,并且可以在类中定义方法,可以直接通过类来调用方法。下面利用一个实例说明类和类方法的定义和用法,操作如下:
class Car():
def __init__(self,age):
self.age = age
def show_age(self):
print("the age of the Car is " + str(self.age))
A = People(3)
A.People_money()
def Car_big(self):
print("666666~~~~")
class People():
def __init__(self, age2):
self.age2 = age2
def show_cat_age(self):
Ragdoll = Car(self.age2)
Ragdoll.show_age()
def People_money(self):
print("-------------------------")
Husky = People(2)
Husky.show_cat_age()
在以上代码当中,People类调用了Car类,Car类调用了People类
- People类调用了Car类里面的
show_age()
这个方法
Ragdoll = Car(self.age2)
Ragdoll.show_age()
- Car类里面的
show_age()
方法调用了People类里面的People_money()
这个方法
A = People(3)
A.People_money()
结果
the age of the Car is 2
-------------------------
个人认为(python)
在自己写代码(python)的过程当中,对于私有、公有和保护这个没有正确的一个认知,特别是在内存空间的释放,这个在C++里面特别需要注意的,但是Python本身就是个流氓
,但是我想这个跟他本身有关(库
);python就是对库的调用,在程序运行的加载(或者说是库
的加载)过程当中,会占用较大的空间很不好;
注:以上纯属个人看法,如若违权请告知,立马修改
以上是关于Java Eclipse 中 在类与方法调用中 (this)的用法的主要内容,如果未能解决你的问题,请参考以下文章