首页 > 代码库 > Java学习之面向对象(封装、构造函数、this关键字) <好程序员特训营>

Java学习之面向对象(封装、构造函数、this关键字) <好程序员特训营>

<A href="http://www.goodprogrammer.org/" target="blank">android培训</a>------我的java笔记,期待与您交流!

 

1.封装:是指隐藏对象的属性和实现细节,仅对外提供公共访问方式。  

好处:  (1)将变化隔离。  (2)便于使用。  (3)提高重用性。  (4)提高安全性。  

原则:  (1)将不需要对外提供的内容都隐藏起来。  (2)把属性都隐藏,提供公共方法对其访问。

 

2.private关键字:  

(1)是一个权限修饰符。  

(2)用于修饰成员(成员变量和成员函数)  

(3)被私有化的成员只在本类中有效。  

(4)将成员变量私有化,对外提供对应的set ,get方法对其进行访问。提高对数据访问的安全性。

 

3.构造函数:  

(1)对象一建立就会调用与之对应的构造函数  

(2)构造函数的作用:可以用于给对象进行初始化。  

(3)构造函数的小细节:当一个类中没有定义构造函数时,那么系统会默认给该类加入一个空参数的构造函数,当在类中自定义了构造函数后,默认的构造函数就没有了  

(4)构造函数和一般函数在写法上有不同。在运行上也有不同。

     a)构造函数是在对象一建立就运行。给对象初始化。而一般方法是对象调用才执行,给是对象添加对象具备的功能。

     b)一个对象建立,构造函数只运行一次。而一般方法可以被该对象调用多次。  

(5)当分析事物时,该事物存在具备一些特性或者行为,那么将这些内容定义在构造函数

 

4.构造代码块:  

(1)作用:给对象进行初始化。对象一建立就运行,而且优先于构造函数执行。  

(2)和构造函数的区别:  

  a)构造代码块是给所有对象进行统一初始化  

  b)构造函数是给对应的对象初始化。  

(3)构造代码快中定义的是不同对象共性的初始化内容

 

5.this关键字:  

(1)this代表它所在函数所属对象的引用。简单说:哪个对象在调用this所在的函数,this就代表哪个对象。  

(2)this的应用:当定义类中功能时,该函数内部要用到调用该函数的对象时,这时用this来表示这个对象。但凡本类功能内部使用了了本类对象,都用this表示。  

(3)this语句 :用于构造函数之间进行互相调用。this语句只能定义在构造函数的第一行。因为初始化要先执行.

 

class Person{	private String name;	private int age;	public void setName(String name)	{		this.name = name;	}	public String getName()	{		return name;	}	public void setAge(int age)	{		this.age = age;	}	public int getAge()	{		return age;	}	//构造代码块	{		System.out.println("code run");	}	//构造函数	Person()	{		System.out.println("A: name="+name+",,age="+age);	}	Person(String name)	{		this.name = name;		System.out.println("B: name="+name+",,age="+age);	}	Person(String name,int age)	{		this(name);		this.age = age;		System.out.println("C: name="+name+",,age="+age);	}		//给人定义一个用于比较年龄是否相同的功能	public boolean compare(Person p)	{		return this.age==p.age;	}}class  PersonDemo{	public static void main(String[] args) 	{		Person p1 = new Person();		Person p2 = new Person("zhangsan");		Person p3 = new Person("lisi",15);		Person p4 = new Person("wangwu",10);		p3.compare(p4);	}}

 

Java学习之面向对象(封装、构造函数、this关键字) <好程序员特训营>