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);
	}
}
时间: 2024-10-07 05:30:04

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

Java学习之面向对象(概念性质) &lt;好程序员特训营&gt;

<A href="http://www.goodprogrammer.org/" target="blank">android培训</a>------我的java笔记,期待与您交流! 1.面向对象:三个特征:封装,继承,多态 2.开发过程:其实就是找对象使用.没有对象,就创建一个对象 3.类和对象的关系. 现实生活中的对象:张三 李四. 想要描述:提取对象中共性内容.对具体的抽象. 描述时:这些对象的共性有:姓名,年龄,性别,学习java功能

Java学习之异常 &lt;好程序员特训营&gt;

<A href="http://www.goodprogrammer.org/" target="blank">android培训</a>------我的java笔记,期待与您交流! 1.异常:就是程序在运行时出现不正常情况. 异常由来:问题也是现实生活中一个具体的事物,也可以通过java的类的形式进行描述.并封装成对象.其实就是java对不正常情况进行描述后的对象体现. 对于问题的划分:两种:一种是严重的问题,一种非严重的问题. a)对于严

Java学习之集合框架(1) &lt;好程序员特训营&gt;

<A href="http://www.goodprogrammer.org/" target="blank">android培训</a>------我的java笔记,期待与您交流! 集合框架图: 1. Collection Collection定义了集合框架的共性功能. 1)添加  add(e);  addAll(collection); 2)删除  remove(e);  removeAll(collection);  clear();

Java学习之集合框架(2) &lt;好程序员特训营&gt;

<A href="http://www.goodprogrammer.org/" target="blank">android培训</a>------我的java笔记,期待与您交流! 1.Set接口 Set集合不允许重复元素,是因为Set判断两个对象相同不是使用==运算符,而是根据equals方法.即两个对象用equals方法比较返回true,Set就不能接受两个对象. public class SetDemo { public static

Java学习之多线程(sleep()和wait()的相同与不同点) &lt;好程序员特训营&gt;

<A href="http://www.goodprogrammer.org/" target="blank">android培训</a>------我的java笔记,期待与您交流! sleep()和wait()的相同点: (1) 都是在多线程的环境下,都可以在程序的调用处阻塞指定的毫秒数,并返回 (2) 都可以通过interrupt()方法 打断线程的暂停状态 ,从而使线程立刻抛出InterruptedException. sleep()和

Java学习之多线程同步 &lt;好程序员特训营&gt;

<A href="http://www.goodprogrammer.org/" target="blank">android培训</a>------我的java笔记,期待与您交流! 要求:用两个线程分别输出0到100之间的奇数和偶数,要求先输出10个奇数,再输出10个偶数,再输出10个奇数,以此类推 //Print类 public class Print { public void odd(int i){ System.out.printl

Java学习之StringBuffer &lt;好程序员特训营&gt;

<A href="http://www.goodprogrammer.org/" target="blank">android培训</a>------我的java笔记,期待与您交流! 1.StringBuffer是字符串缓冲区,是一个容器. 特点: 1)长度是可变化的. 2)可以字节操作多个数据类型. 3)最终会通过toString方法变成字符串. 2.StringBuffer的方法: 1)存储. StringBuffer append():

Java学习之数组 &lt;好程序员特训营&gt;

<A href="http://www.goodprogrammer.org/" target="blank">android培训</a>------我的java笔记,期待与您交流! 1.数组内存----栈  堆 栈内存:数据使用完毕,会自动释放 堆内存:放的都是 new 出来的实体(对象或数组),有内存地址值,且数组都有默认值,例如:0,false,0.0,当堆内存中实体无引用后,一段时间内会被JVM的垃圾回收机制回收,释放内存 例如: (

【好程序员特训营】Java类与对象

Java支持以下类与对象的概念: 多态.继承.封装.抽象.类.对象.实例.方法. 就像是书.也可以分为语文书.数学书.历史书什么的,每本书又有不同的内容. 一个简单的雇员的例子: Employee类有四个成员变量:name.age.designation和salary.该类显式声明了一个构造方法,该方法只有一个参数. public class Test { public static class Employee{ String name; int age; String design; dou