类的成员变量、静态成员变量、定义方法
public class Book {
//静态成员变量
//静态成员变量属于本类所有实例对象共享,而不是任何一个本类的对象的成员变量
//所以静态成员变量用"类名.变量名"访问 而一般成员变量用"对象名.变量名"访问
static String publish;
//定义成员变量(在类的内部、方法的外部,作用域为整个类,同一类的所有方法都可以对它进行访问)
//区分局部变量(在方法体内定义的变量,作用域为方法体)
//成员变量的权限修饰符:public(任何类) protected(本类、同包类、子类) private(本类) 和缺省(同包类)
int page;
String bookname;
float price;
//被final修饰的成员变量,一旦被赋值,那么在整个执行过程中他的值不会被改变
final String school = "清华大学";
//定义方法
//方法有以下几种修饰符:static(静态方法,类名调用) abstract(抽象方法 只有方法声明,没有方法体) final(最终方法,不能被重写)
//用final修饰的方法,不能被重新定义或者修改方法内容,这样可以防止有些子类继承父类的某个方法,然后改写方法并重新定义,形成同名但又不同功能的方法,这样引用时会有方法重载
//如果父类方法有问题也不能及时发现,对关键的方法重定义造成安全漏洞
public void exchange(int a, int b){
int temp;
temp = a; a = b; b = temp;
}
//静态方法
//静态方法是属于整个类的方法,用static修饰。一般方法是属于某个具体实例的方法。
//静态方法可以由被该类创建的所有对象使用,也可以被其他类使用,可以在没有被实例化的情况下使用。
//"类名.静态方法名"
static void wbooknum(String[] num){
//改变数元素的值
num[0] = "EB1111";
num[1] = "EB1112";
//输出数组元素值
for(int i = 0;i<num.length;i++){
System.out.println(num[i]+" ");
}
}
public static void main(String[] args){
//使用静态方法
String[] booknum = {"EX0001","EX0002","EX0003"};
Book.wbooknum(booknum);
//使用一般方法
Book book1 = new Book();//定义对象
Book book2 = new Book();
book1.bookname = "java编程基础";//赋值
book1.page = 10;
book2.page = 20;
book1.exchange(book1.page,book2.page);//调用
System.out.println("book1:"+book1.page+",book2:"+book2.page);
}
}
参数传递,形参不改变实参 (数组传递的是首地址,故形参可以改变作为数组的实参)
输出结果:
EB1111
EB1112
EX0003
book1:10,book2:20