1.面向对象的名词:
OOA 面向对象分析 ; OOD面向对象设计; OOP 面向对象编程;
2.面向对象三个特征:(1)封装性 (2)继承性 (3)多态性;
3.所谓类就是生产对象的蓝图,或者说是模板。首先产生类,才能产生对象。对象的所有行为,一定在类中进行了完整的定义。
4.类的组成包括 属性和方法。
5.对象的初始化方法:
1)提供一些get set方法;(public)
2)提供合适的构造函数;
3)静态代码块,实例代码块;
产生对象的语法如下:
类名字 对象名字 =new 类名字();从而产生实例对象。
6.封装:采用private实现封装:
比如,我们在类中定义这两个属性:
private String name;
private int age;
这个时候这两个属性在其他作用域是访问不到的。这个时候我们就需要setter和 getter的方法;代码如下:
class Person{
private String name;
private int age;
public Person(){
}
public void setName(String name) {
this.name = name;
}
public void setAge(int age) {
this.age = age;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
public void getPersonInfo(){
System.out.println(name+age);
}
}
public class Test4 {
public static void main(String[] args) {
Person person =new Person();
person.setName("小灰");
person.setAge(20);
person.getPersonInfo();
}
}
当我们在main函数中通过对象访问private类型属性时,是访问不到的。但是可以通过getter和setter来主要⽤于属性内容的取得和⽤于进⾏属性内容的设置与修改。
7. 构造⽅法重载:
public Person(){
System.out.println("⽆参构造");
}
public Person(String n){
name = n ;
System.out.println("有参构造");
}
在进⾏类定义时:定义属性->定义构造⽅法->定义普通⽅法,按照这个顺序进行定义。如果方法中有参数,按照参数的个数从上而下,由少到多进行构造。
8.匿名对象:比如说 new Person(“小灰”,20).getPersonInfo()从而打印出我的名字和年龄。并且匿名对象不会有任何的栈空间所指向,所以使⽤⼀次后就成为垃圾空间。
9.this表示对当前对象的引用。
this–>可以进入没有参数的构造函数之后转向调用有参数的构造函数然后执行后者。可以进入有参构造调用无参构造方法。注意!!!! this调⽤构造⽅法的语句必须在构造⽅法⾸⾏。部分代码如下:
public Person(){
this(name);//调用本类有参;
}
public Person(String name){
this();//调⽤本类⽆参构造
this.name = name ;
}
public Person(String name,int age){
this(name);//调⽤本类有参构造
this.age = age ;
}
10.static所定义的方法,属性。在main函数中不受对象的控制,直接使用类进行调用:
类名.属性 类名.方法;
所有的⾮static属性(实例变量)必须在对象实例化后使⽤,⽽static属性(类属性)不受对象实例
化控制 我们修改属性时,所有对象都同步此属性值。