代码以及笔记如下:
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