java中的变量和方法
2014-04-16 21:29
127 查看
在java的笔试中,许多的程序题都离不开变量和方法,也许一个很长的程序就是考你不同类别的变量和方法的使用,这类题型很具有迷惑性,今天我们就来看看这些变量和方法,弄清他们的特点是解题的第一步。
java中的变量主要有局部变量,全局变量,成员变量,类变量(静态变量),实例变量(非静态变量),公共变量,私有变量,保护变量和默认访问变量,方法有公有方法,私有方法,静态方法,最终方法,也许还有其他的一些,这里就不列出来了。看着这么多种类的变量和方法是不是头都大了?有时在看解题分析的时候,说这个变量是某某变量,这个方法时某某方法,那我们到底清楚这个变量和方法吗?这可不一定,所以我把变量和方法之间的关系用这幅图总结了出来,希望可以帮助大家理顺他们之间的关系。
这类题型的程序中,往往只有一个类(注意!如果程序中有两个类存在,那么我们就还需要考虑类之间的关系,这类题,我放在下一个专题里讲解),所以我们只需要搞清楚两件事:
1.确定变量。如果是局部变量,那么它一定要显示的初始化。
2.确定方法,如果是静态方法,那么它一定只能访问静态变量。
往往题目就是在考这两个方面。
例一:下面的代码在编译时哪几行会出现错误?
分析:不要以为这道题是在考你while循环,其实是在考你局部变量,如果你没有仔细看清楚的话,很容易出错,所以,今后在做题的时候,第一步就要先确认变量都是什么变量。清楚这些之后,很显然,变量c是局部变量,而局部变量必须要显示初始化,所以第9行错误。
例二:分析下面的代码,哪些叙述是正确的?
B.编译时正确而运行时出错
C.输出0
D.输出 null
分析:这里我们注意到,main方法也是静态方法,而静态方法只能访问静态变量(类变量),而不能直接访问类的非静态变量,所以会再编译时出错。说这道题的目的是为了让大家以后一定要看清static这个关键字,他往往决定了你能不能看清出题者的真正意图是不是在考你静态变量与静态方法。
例三:无数的概念题,这里我就不做总结了,相信大家如果能仔细看看上面的图,那么这类型题一定不会难到大家。
java中的变量主要有局部变量,全局变量,成员变量,类变量(静态变量),实例变量(非静态变量),公共变量,私有变量,保护变量和默认访问变量,方法有公有方法,私有方法,静态方法,最终方法,也许还有其他的一些,这里就不列出来了。看着这么多种类的变量和方法是不是头都大了?有时在看解题分析的时候,说这个变量是某某变量,这个方法时某某方法,那我们到底清楚这个变量和方法吗?这可不一定,所以我把变量和方法之间的关系用这幅图总结了出来,希望可以帮助大家理顺他们之间的关系。
这类题型的程序中,往往只有一个类(注意!如果程序中有两个类存在,那么我们就还需要考虑类之间的关系,这类题,我放在下一个专题里讲解),所以我们只需要搞清楚两件事:
1.确定变量。如果是局部变量,那么它一定要显示的初始化。
2.确定方法,如果是静态方法,那么它一定只能访问静态变量。
往往题目就是在考这两个方面。
例一:下面的代码在编译时哪几行会出现错误?
public class TestDemo { int a; public void test(){ a = 2; int b , c; while(a>0){ b = a * 2; System.out.println("The value is" + b); c = c + 1; a--; } } }A. 第9行 B. 第5行 C.第7行 D.第10行
分析:不要以为这道题是在考你while循环,其实是在考你局部变量,如果你没有仔细看清楚的话,很容易出错,所以,今后在做题的时候,第一步就要先确认变量都是什么变量。清楚这些之后,很显然,变量c是局部变量,而局部变量必须要显示初始化,所以第9行错误。
例二:分析下面的代码,哪些叙述是正确的?
public class TestDemo { int arr[] = new int[5]; public static void main(String[] args) { System.out.println(arr[0]); } }A.编译时出错
B.编译时正确而运行时出错
C.输出0
D.输出 null
分析:这里我们注意到,main方法也是静态方法,而静态方法只能访问静态变量(类变量),而不能直接访问类的非静态变量,所以会再编译时出错。说这道题的目的是为了让大家以后一定要看清static这个关键字,他往往决定了你能不能看清出题者的真正意图是不是在考你静态变量与静态方法。
例三:无数的概念题,这里我就不做总结了,相信大家如果能仔细看看上面的图,那么这类型题一定不会难到大家。
相关文章推荐
- java中两个变量之间交换方法总结
- 对java中static变量和方法的总结
- java反射学习笔记(3)---使用Class来获取方法、成员变量、构造函数信息
- JAVA面向对象基础:成员变量、方法、方法的重载、构造函数
- java基础:父类与子类之间变量和方法的调用
- java环境变量的配置方法
- [转]Java继承中的成员方法和变量
- Lesson_for_java_day09--继承、实例化、构造方法、覆盖、重载、this关键字、super关键字、全局变量和局部变量
- java环境变量配置原理解析以及eclipse导入外包的方法
- 【Java并发编程】之十五:并发编程中实现内存可见的两种方法比较:加锁和volatile变量
- java final修饰成员变量赋值的二种方法
- Java中类、接口、变量、方法、属性、常量的命名规则
- 三种配置linux环境变量的方法(以java为例)
- java中成员变量和方法的隐藏
- (转)java判断string变量是否是数字的六种方法小结
- Java反射之如何判断类或变量、方法的修饰符(Modifier解析)
- Java类成员变量、普通成员变量、初始化块、构造方法的初始化和执行顺序
- Java中循环声明变量方法
- JAVA基础初探(三)面向对象思想、类与对象、成员变量与局部变量、构造方法、static关键字详解
- 最简单的配置Centos中JAVA的环境变量的方法