Java中几个定义的区别
来源:互联网 发布:淘宝营类目怎么修改 编辑:程序博客网 时间:2024/06/06 15:46
1.成员变量与局部变量的区别
(1)作用域不同:成员变量在整个类内部所有方法可用,也可以被与当前类有关的类的方法调用;局部变量仅限于定义它的方法应用
(2)初始值不同:成员变量Java会为其赋初值=0,局部变量不会赋初值。不同方法中可以有相同局部变量,同一方法中不可以重名。若成员变量和局部变量重名,局部变量优先调用。
2.构造方法
(1)new+构造方法,创建一个对象。构造方法是Java中用来初始化对象的方法,其与类同名且没有返回值。
若没有定义构造方法,系统自动生成一个无参构造方法。
可通过无参和有参的构造方法两种方法创建对象,通过有参构造方法创建的对象可以给对象中的实例变量赋初值。若只定义了一个有参构造方法,则不可以利用无参的构造方法来创建对象。其应用与参数列表作用有相似之处,即可以对传入的参数有一个范围的限定作用。即若输入参数不符合实际情况,则可以提示信息错误,并对其附上一个初值。避免了有参构造函数时传值不安全的问题。
3.(1)静态变量
Java中被static修饰的成员被称为静态成员或类成员,它属于整个类所有,即可被类中的所有对象共享。静态成员可以使用类名直接访问,也可用对象名访问。static也可以修饰变量、方法和代码块。如下:
public class StaticDemo {
//stastic修饰的变量为静态变量,所有类的对象共享hobby
static String hobby = "reading";
public static void main(String[] args) {
//静态变量可以直接使用类名来访问,无需创建类的对象
System.out.println("通过类名来访问hobby:" + StaticDemo.hobby);
//创建类的对象
StaticDemo demo = new StaticDemo();
//使用对象名来访问静态变量
System.out.println("通过对象名来访问hobby:" + demo.hobby);
//使用对象名的方式来修改静态变量的值
demo.hobby="青铜时代";
//再次使用类名来访问静态变量,值已被修改
System.out.println("通过类名来访问hobby:" + StaticDemo.hobby);
}
}
输出结果:
通过类名来访问hobby:reading
通过对象名来访问hobby:reading
通过类名来访问hobby:青铜时代
(2)静态方法
被static修饰的方法被称为静态方法或类方法
注意:
1.静态方法中可以直接调用同类中静态成员,不能调用非静态成员。若希望在静态方法中调用非静态变量,可以通过创建类的对象,然后通过对象来访问静态变量。
2.在普通成员方法中,可以直接访问同类的非静态变量和静态变量。
3.静态方法中不可以直接调用非静态方法,需要对象来访问非静态方法。
(3)静态初始化块
被static修饰的初始化块被称为静态初始化块
注意:静态初始化块只在类加载时执行,且只会执行一次,同时静态初始化块只能给静态变量赋值,不能初始化普通的成员变量。
- Java中几个定义的区别
- JAVA中几个类的区别
- Java 中几个时间类的区别
- java web中几个概念的区别
- JAVA中堆栈的定义及区别
- JAVA中堆栈的定义及区别
- JAVA中堆栈的定义及区别
- Java中定义和声明的区别
- java的几个名词定义
- Java中Math类的几个四舍五入方法的区别
- 对于java.util包中几个集合的一些区别
- JAVA中几个类的联系与区别
- java中几个获取长度的方法区别
- c中有用的几个宏定义
- Joomla中定义的几个路径 【转】
- java和c语言中数组定义初始化的区别
- java中方法重载和重写的区别和定义
- java中方法重载和重写的区别和定义
- 自我介绍
- android底层库libutils之Condition研究
- Matlab的GUI中在Callback的字符串形式的编写格式
- adb 命令使用
- 第53课:蘑菇云Spark大数据项目之Zookeeper+Kafka+Flume实战讲解
- Java中几个定义的区别
- Android_UI:沉浸式 ImmersiveMode
- hdu1003
- 使用nginx搭建点播和直播流媒体服务器
- Vertx中的verticle详解
- POJ2481-Cows
- Smarty变量
- Linux中常用C/C++一些头文件的作用
- vs2013激活码,亲测可用