2021-04-06

java程序设计学习第十一天
(学习多态性)
/*
*

  • 代码中体现多态: 父类应用指向子类对象
  • 格式
    父类名称 对象名 =new 子类名称();

*/
public class glc {
public static void main(String[] args) {
//类型 变量名称=常量
//int num=5;
//类型 变量名称 =new 类型();
Fu fu =new Fu();
fu.method();
fu.methodFu();
System.out.println("");
Zi zi =new Zi();
zi.method();
zi.methodFu();
zi.methodZi();
System.out.println("
======");
//类似于强制类型转换
//double num=new 5f
Fu obj=new Zi();
obj.method();//子类方法
obj.methodFu();
//obj.methodZi();
}
}

/*
*

  • 访问成员变量的两种方式
  • 1、直接通过对象名称访问
  • 2、通过成员方法间接访问

*/
public class glc {
public static void main(String[] args) {
//直接访问 看等号左边是谁,就用谁。没有则往上找。
Fu obj=new Zi();
System.out.println(obj.num);//父 10
//System.out.println(obj.age);错误用法
System.out.println("=======");
//成员方法访问,看该方法属于谁,就用谁
obj.showNum();
}
}

/*
*

  • 1、成员方法
    new 的是谁,就先用谁
  • 2、对比
    成员变量 编译看左边 运行还看左边
    成员方法 编译看左边 运行看右边

*/
public class glc1 {
public static void main(String[] args) {
Fu obj=new Zi();
obj.method();
//obj.methodFu();
obj.methodFu();
}
}

public class glc {
public static void main(String[] args) {
//类似于 隐式类型转换
Animal animal=new Cat();
animal.eat();
//animal.catchMouse();
//向下类型转换 由父类型 转换成子类型 还原
Cat cat=(Cat) animal;
cat.catchMouse();
//java.lang.ClasscastException
//Dog dog=(Dog)animal;
}
}

//final 修饰方法的时候,该方法就是最终方法,不能被覆盖重写
public abstract class Fu {
public final void method() {
System.out.println(“舒工坊”);
}
public abstract /final/ void methodAbs();
}

/*
*

  • final
    1、用来修饰一个类
    2、用来修饰一个方法
    3、用来修饰一个局部变量
    4、用来修饰一个成员变量

*/
public class glc {
public static void main(String[] args) {
int num1=10;
System.out.println(num1);
num1=100;
System.out.println(num1);
final int num2=200;
System.out.println(num2);
//num2=2000 错误写法
final int num3;
num3=300;
System.out.println(num3);
System.out.println("");
Student stu1 =new Student(“乱叫闪电发货”);
System.out.println(stu1);
System.out.println(stu1.getName());
stu1=new Student (“爱上飞机”);
System.out.println(stu1);
System.out.println(stu1.getName());
System.out.println("
=");
final Student stu2=new Student(“第三节课”);
System.out.println(stu2);
System.out.println(stu2.getName());
stu2.setName(“撒地方”);
System.out.println(stu2);
System.out.println(stu2.getName());
System.out.println("
=====");
Person person =new Person(“格外”);
System.out.println(person.getName());
}
}

/*
*

  • 被final修饰的类 是一个最终的类 (太监类) 没有儿子
  • 如果一个类被final修饰 所有的成员方法都无法进行覆盖重写

/
public final class MyClass {
public void method() {
System.out.println(“方法执行”);
}
}
public class Zi extends Fu {
/
@Override
public void method() {
System.out.println();
}*/
public void methodAbs() {

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值