字段(fields)和方法(methods)
数据成员(data members)(有时也叫“字段”)以及成员函数(member functions)(通常叫“方法”)
成员变量
public class Book {
private String name; //定义成员变量
}
成员方法
public String getName() { //定义方法 getName()
int id = 0; // 定义局部变量
setName("Java"); // 调用类中的setName()方法
return id + this.name; //设置方法返回值
}
语法:
权限修饰符 返回值类型 方法名(参数类型 参数名){
… //方法体
return 返回值
}
类成员变量和类成员方法也可以统称为类成员
主要成员的默认值
若某个主数据类型属于一个类成员,那么即使不明确(显式)进行初始化,也可以保证它们获得一个默认值。
主要成员 默认值
Boolean false
Char ‘\u0000’(null)
byte (byte)0
short (short)0
int 0
long 0L
float 0.0f
double 0.0d
静态变量、常量和方法
static最主要的用法是不用新建对象直接用类调用
a. 由关键字static修饰的变量、常量和方法被称为静态变量、常量和方法
b. 有时会需要两个类在同一个内存区域共享一个数据,为了解决这个问题,可以将这个常量设置为静态的
c. 被声明为static的变量、常量和方法被称为静态成员。静态成员属于类所有,区别于个别对象,可以在本类或其他类使用类名和“.”运算符调用静态成员
例子:
public class AnyThing {
static double PI = 3.1415; // 定义静态常量
static int id; // 定义静态变量
public static void method1() { // 定义静态方法
//doSomething;
}
public void method2() {
System.out.print(AnyThing.PI);
System.out.print(AnyThing.id);
AnyThing.method1();
}
}
直接使用“类名.静态成员”形式进行调用即可。
注意:虽然静态成员也可以使用“对象.静态成员”的形式进行,但通常不建议使用这种方法,因为这样容易混淆静态成员和非静态成员。
d. 静态数据和静态方法通常是为了提供共享的数据或方法,并且静态成员同样遵循着public,private和protected修饰符的约束
例如
class StaticTest { static int i = 47; }
StaticTest st1 = new StaticTest();
StaticTest st2 = new StaticTest();
st1.i 和st2.i的值是相同的,都是47,因为他们指向同一片内存
Java语言中对静态方法有两点规定:
a) 在静态方法中不可以使用this关键字
b) 在静态方法中不可以直接调用非静态方法
*注意:
Java规定不能将方法体内的局部变量声明为static。如下面代码就是错误的:
public class example{
public void method(){
static{
//some
}
}
}
如果在执行类时,希望先执行类的初始化动作,可以使用static定义一个静态区域,如:
public class example{
static{
// some
}
}
当这段代码被执行时,首先执行static块中的程序,并且只会执行一次
类的主方法
主方法是类的入口点,它定义程序从何处开始;主方法提供对程序流向的控制,Java编译器通过主方法来执行程序
语法:
public static void main(String[] args){
//方法体
}:
主方法是静态的
主方法没有返回值
主方法的形参是数组,用args.length可以获取参数的个数
网友评论