/** * @author shen * @desc test * @date 2016年7月10日 */ public class Book { static int num = 0;//类变量 static final String type = "children";//用final变量只能被初始化一次,之后不能再赋值 String str="this is a book";//实例变量 public void borrow(){ int i = 0;//局部变量 } public static void rend(){ //静态方法,无需创建对象就能使用 System.out.println("this is a static method."); } public static void main(String[] args) { rend();//直接调用 System.out.println("this is a main function."); } static { //静态代码块,类加载时调用 System.out.println("this is a static code block."); } }
/** * @author shen * @desc test * @date 2016年7月10日 */ public class User { private String type = "student"; private String name;//私有属性只能在本类获取到 private int age; public int height;//公有属性其他类也能获取到 public int getHeight() { return height; }
public void setHeight(int height) { this.height = height; }
//Javabean的规范,通过getter和setter对数据进行封装 public String getType() { return type; }
public void setType(String type) { this.type = type; }
public String getName() { return name; }
public void setName(String name) { this.name = name; }
public int getAge() { return age; }
public void setAge(int age) { this.age = age; }
public User(){ //无参构造方法 } public User(String num){ //带参构造 } public User(String name,int age){ //参数个数不同的构造 this.name = name; this.age = age; } //普通方法 public void borrow(String bookName){ //bookName为方法体中的局部变量 System.out.println(this.name + " borrow a book :" + bookName ); } public static void main(String[] args) { User jack = new User();//默认的无参构造创建对象 jack.age = 20;//私有属性,只能在本类使用这种方式 jack.name = "jack"; //公有属性其他类也能获取到,暴露了数据细节。将属性定义为private并使用getter和setter方法隐藏数据的细节(Java的封装特性) jack.height = 170; jack.borrow("Java code"); System.out.println(jack.type); User jane = new User(); jane.setAge(19);//Javabean规范,实现对数据细节的隐藏封装 jane.setName("jane"); jane.setType("teacher"); jane.borrow("C prime plus"); System.out.println(jane.type); User tom = new User("tom", 21);//使用带参构造创建对象 tom.borrow("C++ prime plus"); } }