1.匿名对象
创建对象的语法:
Person p1 = new Person();
匿名对象,只有右侧
new 构造方法(必要的参数);
匿名对象的用途:
1、使用匿名对象,直接调用类的方法;
2、匿名对象直接作为一个方法的参数。
注意:匿名对象只能使用一次,随着创建而使用一次。
2.封装性
面向对象三大特性:封装性、继承性、多态性
一个类,一个方法,都是一种封装。
2.1private
一个访问权限修饰符:
修饰符:public,private,final,static。。。
访问权限:在哪个范围内能够访问
作用:限制在本类中才能访问。
2.2getter和setter方法
使用getter方法,获取属性值。
对类中的属性,进行封装的步骤:
step1:使用private关键字,修饰成员变量(属性)。
step2:提供setter方法,用于对属性进行赋值。
step3:提供getter方法,用于获取属性值。
对于boolean类型:
get方法的写法:方法名是特殊:isXXX()
private boolean married;//是否已婚
//对于boolean类型的get方法:两个状态
public boolean isMarried(){
return this.married;
}
扩展:
"sasads".length():字符串长度 (方法)
array.length:数组长度 (属性)
3.继承性
3.1概念
-
程序中的继承,是类与类之间特征和行为的一种赠予或获得;
-
两个类之间的继承关系,必须满足“is a ”的关系。
如果一个类(子类)继承了另外一个类(父类),那么子类可以直接使用父类的非私有化的成员(属性和方法)。
3.2类的继承
关键字:extends,词义:扩展的。描述两个类的关系:父类,子类。
被继承的类:父类,根类,超类,基类,SuperClass
继承的类:子类,派生类,SubClass
3.3继承的语法
public class FatherClass{
//属性
//方法
}
public class ChildClass extends FatherClass{
//新增的属性
//方法:重写,新增
}
-
子类可直接使用父类的非私有化的属性(成员变量)和方法(成员方法);
-
子类还可以新增自己的属性和方法;
-
子类可以重写父类已有的方法;
-
子类进行方法的重写后,主函数默认调用子类重写的方法。
3.4子类对象的创建
调用子类的构造方法中,先调用父类的构造方法,默认为父类的无参构造方法。
-
子类的构造方法中,第一行一定是调用了父类的构造方法;
-
如果没有显示的调用父类的构造方法,编译器会自动的添加:super(),父类的无参构造;
-
子类的构造方法中,既可以调用父类的无参构造方法,也可以调用父类的有参构造方法;
-
父类的无参构造:super(),父类的有参构造:super(参数)。
3.5super关键字
表示父类的构造方法。super(),表示父类的构造方法,同this()相类似。
super():表示父类无参构造方法
super(参数1,参数2):表示父类有参构造方法