代码以及笔记如下:
class Person{ //成员变量 String name; Integer age; //静态变量 static String address="中国"; //构造方法 //两个构造方法在同一个类中,又同名,只是参数不同 //这种方法现象,就是方法重载。 //如果是父类有一个方法,子类也有一个一模一样的,连 //参数也一样的方法,只是实现这个方法的语句(方法代码块) //不同,这种方法现象,就是方法重写。 public Person(){ //默认构造方法 /* 默认构造方法是可以不写的,但是当你写了自定义构造方法时, 默认构造方法就会被覆盖。 也就是说,如果你写了下面那个构造方法,而不屑这个空构造方法 那么:Person p = new Person();这条语句就会出错,因为 new Person()表示调用空参数的构造方法。 要想成功就要写为:Person p = new Person("lisi",23); 这条语句是说调用带两个参数的并且第一个是String类型,第二个 是Integer类型。 */ } public Person(String name,Integer age){ //带参数自定义构造方法 /* 其中this指针表示本对象,例如: 当我们要使用类中age和name变量时,是这样使用的: Person p=new Person(); p.name="zhangsan"; p.age=25; 而this就是指的当类生成实例时的那个实例,上述例子 就代表对象p; */ System.out.println("自定义构造方法"); this.name=name; this.age=age; } //成员方法 public void eat(){ System.out.println("吃饭..."); } public void toPrint(){ System.out.println("name="+this.name+"\nage="+ this.age); } //静态方法 public static void staticFun(){ System.out.println("静态方法...."); } } class Main{ public static void main(String[] args){ Person person = new Person(); System.out.println("*************"); Person person1 = new Person("zhangsan",25); System.out.println("*************"); person.name="lisi"; person.age=12; person.eat(); person.toPrint(); System.out.println("*************"); person1.eat(); person1.toPrint(); /* 静态是表示,static所修饰的方法或者变量或者其它等等,属于类, 也就是说,static修饰的不需要这样: Person person = new Person(); person.staticFun(); 而是直接可以通过类访问: Person.staticFun(); */ //前四句,是传统的访问方式 //后两句是直接通过类访问。 person.staticFun(); System.out.println(person.address); person1.staticFun(); System.out.println(person1.address); Person.staticFun(); System.out.println(Person.address); } }
运行截图:
本文出自 “夕下等花逝” 博客,请务必保留此出处http://sunshine2624.blog.51cto.com/3959438/1875911
原文:http://sunshine2624.blog.51cto.com/3959438/1875911