首页 > 代码库 > java面向对象-1

java面向对象-1

技术分享

代码以及笔记如下:

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

java面向对象-1