This与成员变量、成员方法、类变量和类方法:
2015-08-20 14:36
483 查看
This与成员变量、成员方法、类变量和类方法
说明:成员变量和成员方法必须被实例化之后才可以调用;(因为被实例化后才分配内存)类变量和类方法(即有static修饰的变量或方法)可以通过类名直接调用,(因为类被加载时就分配内存),但是也可通过实例对象名调用,但是没必要
1、在定义类时,其中的成员变量和成员方法在这个类中可以直接调用也可以用this调用;其中的类变量和类方法可以直接调用也可以用this调用,但是会提示没这个必要用this;
2、类方法只能调用类变量,不能调用成员变量;
3、类方法中不能使用this。
(我是新人,请大家多多指教
![](http://static.blog.csdn.net/xheditor/xheditor_emot/default/smile.gif)
)
代码范例:
import java.util.Scanner;
class Test{
inta,b,sum;
Scannersc =new Scanner(System.in);
staticinta1,b1,sum1;
static Scannersc1 =new
Scanner(System.in);
//在成员方法中,this调用成员变量,也可直接调用,不用this
voidsum(){
this.a =sc.nextInt();
b =sc.nextInt();
sum =a +
b;
System.out.println("a+b="+sum);
}
//在类方法中,只能使用类变量,不能使用成员变量,也不能使用this关键字
staticvoid sub(){
a1 =sc1.nextInt();
b1 =sc1.nextInt();
sum1 =a1 -b1;
System.out.println("a-b="+sum1);
//this.a = sc.nextInt(); //报错,不能使用this
//b = sc.nextInt(); //报错,不能使用非类变量
}
//this调用成员方法,也可直接调用,不用this
void test(){
this.sum();
//sum(); //也是对的
}
//类方法直接调用
void test1(){
sub();
//this.sub(); //也是对的
System.out.println(a1);
//System.out.println(this.a1); //是对的,但是没必要
}
staticvoid test2(){
//this.sum(); //报错,在类方法中不能用this
}
}
publicclassMain{
publicstaticvoid main(String[]args){
Testobj=newTest();
obj.test();
obj.test1();
obj.sum();
Test.sub();
System.out.println(obj.a);
System.out.println(Test.a1);
}
}
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序
- 二叉查找树
- [原创]java局域网聊天系统