对象:对象的特征分为静态特征和动态特征。静态特征指对象的外观、性质、属性等。动态特征指对象具有的功能、行为等.
人们将对象的静态特征抽象为属性,在Java语言中称之为变量;人们将对象的动态特征抽象为行为,在Java语言中称之为方法。
类:具有相同属性及相同行为的一组对象称为类。例如:人类,在Java中可以抽象为一个Person类,具有属性(姓名,年龄等)和方法(吃,走,睡觉等)
2.面向对象的3个主要特征(封装性、继承性、多态性)
封装:也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。
例如:
public class Demo1 {
public static void main(String[] args) {
Person p1=new Person();
p1.setName("wnagdeyun");
p1.setAge(24);
p1.talk();
}
}
class Person {
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public void talk(){
System.out.println("我是:"+name+",今年:"+age+"岁");
}
}
继承:以现有的类为基础,派生出新的类,通过这种方式,提高了代码的可重用性
继承格式:
class 子类名 extends 父类名
注意的地方:在Java中只允许单继承,而不允许多重继承,但可以多层继承(父类A派生出父类B,父类B再派生出父类C)但在接口的时候支持
super主要功能:主要用在子类调用父类中的属性和方法。注意:在调用父类中的构造方法只能放在程序的第一行。
多态:即多种状态.多态的两个表现覆写与重载)
重载:指的是方法名称相同,但参数类型或参数个数不同。
覆写:当一个子类继承一个父类,而且子类方法与父类方法的名称、参数个数、类型都完全一致时,就称子类覆写了父类中的方法。
通常父类对象通过子类对象去实例化,指的是对象的向上转型,不进行强制转换,会丢失精度
向下转型,指的是父类对象可以转换成子类(强转)