面向对象:三大特征: 封装,继承,多态。
封装:是指隐藏对象的属性和实现细节,仅对外提供公共访问方式。
函数 类 包
private : 私有,权限修饰符;用于修饰类中的成员(成员变量,成员函数)。
私有只在本类中有效。
构造函数:
特点:
1 函数名与类名相同
2 不用定义返回值类型
3 不可以写return语句
作用 :
给对象进行初始化。
对象一建立就会调用与之对应的构造函数。
构造函数的作用:可以用于给对象进行初始化、
当一个类中没有定义构造函数时,那么系统会默认给该类加入一个空参数的构造函数 类名(){}
当自己定义了构造函数 ,系统就不定义构造函数。

class person { private int age; /* 构造代码块。 作用:给对象初始化 对象一建立就运行,而且优先于构造函数执行, 和构造函数的区别: 构造函数代码块是给所有对象统一进行初始化。 而构造函数是给对应的对象初始化 构造函数块中定义的是不同对象的初始化内容。 */ { cry(); }//构造函数块 person()//构造函数 { System.out.println("age="+age); } person(int a) { System.out.println("age="+a); } public void setAge(int a) { if(a<0&&a<130) { age = a; speak(); } else System.out.println("nono"); } void speak() { System.out.println("age="+age); } void cry() { System.out.println("cry..."); } } public class wang { public static void main(String[] args) { person p = new person(); } }
this : 代表本类的对象,到底代表哪一个呢
this代表他所在函数所属对象的引用
this语句2大用处: 用于构造函数之间进行相互调用。。
同名变量用this
this语句只能放在构造函数的第一行。。。(规则,初始化先执行)

class person { private int age; /* 构造代码块。 作用:给对象初始化 对象一建立就运行,而且优先于构造函数执行, 和构造函数的区别: 构造函数代码块是给所有对象统一进行初始化。 而构造函数是给对应的对象初始化 构造函数块中定义的是不同对象的初始化内容。 */ person()//构造函数 { System.out.println("age="+age); } person(int a) { this(); // System.out.println("age="+a); } public boolean compare(person p) { return p.age==this.age; } } public class wang { public static void main(String[] args) { person p = new person(5); person p1 = new person(4); boolean b = p1.compare(p); System.out.println(b); } }