码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2014-12-18 22:10:32      阅读:286      评论:0      收藏:0      [点我收藏+]

标签:android   blog   http   ar   使用   sp   java   on   数据   

<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关键字) <好程序员特训营>

标签:android   blog   http   ar   使用   sp   java   on   数据   

原文地址:http://www.cnblogs.com/bye-2012lx/p/4172651.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!