每天学一点Thinking in java: 4 字段和方法

2020-05-15  本文已影响0人  君爱3

字段(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可以获取参数的个数

上一篇 下一篇

猜你喜欢

热点阅读