面相对象-三大特征
–封装
–继承
–多态
—面向对象三大特征之一:
–封装
public --公共的,即都可访问
private --私有的,调用方法获取
>set设置变量中的属性,例如:
private String name;
public void setName(String name){
this.name = name;
}
>get获取变量中的属性,例如
public String getName(){
this.name = name;
return name;
}
//返回值可以和变量中不同,
//但是返回的值要和类型一致
此时setName中的方法
用参数中的name代替声明过的name
set设置使用1/0表示性别的写法
其中:
switch写法:
switch(sex){
case 0:
System.out.println("女");
break;
case 1:
System.out.println("男");
break;
}
if-else写法:
if(sex == 0){
System.out.println("女");
}else if(sex == 1){
System.out.println("男");
}else{
System.out.println("输入错误");
}
–>设置set获取get
将类实例化,调用方法进行设置和获取
student stu = new student();
stu.setName(“小明”); //类型为String 设置为"小明"
–获取设置的值get
System.out.printf(stu.getName()); //将打印"小明"
面向对象三大特征之二:
–继承
java中的继承只支持单继承,不支持多继承例如:
class B extends A,C{ };
关键字extends继承
Java中可以实现间接继承,例如:
class C extends B,
class B extends A
Java规定,子类继承父类,
除构造方法和被private修饰的数据不能继承外,
剩下都可以继承。
在子类继承父类后,必须重写父类中的方法。
–例如:
class a{
public p(){
System.out.printf("父类");
}
}
clase b exdends a{
public static void main(String[] args){
@override //重写的注解
public p(){
System.out.printf("重写后的方法");
}
}
}
面向对象三大特征之三:
–多态
--使用多态中的必要条件
1,继承
2,方法覆盖
3,父类型引用指向子类型对象
多态定义即是:同一个对象指向多个类
多态在实例化中体现,例如:
A a = new B();
多态中:
子类对象实例化父类对象
子类调用父类中的重写方法
子类也可以定义自己特有的方法
class Zi2 extends Fu{
@Override
public void action(){
System.out.println("子类二重写父类方法");
}
//子类特有方法
public void action1(){
System.out.println("子类二特有方法");
}
}
//子类一方法
class Zi1 extends Fu{
@Override
public void action(){
System.out.println("子类一重写父类方法");
}
//子类特有方法
public void action1(){
System.out.println("子类一特有方法");
}
}
//父类方法
class Fu{
public void action(){
System.out.println("父类方法");
}
}