为了账号安全,请及时绑定邮箱和手机立即绑定
  • package lmr;
    public class Initail{
    public static void main(String[] args){
    Telphone tel1 = new CellPhone();
    tel1.call();
    tel1.message();
    Telphone tel2 = new SmartPhone();
    tel2.call();
    tel2.message();
    }
    }


    查看全部
  • package lmr ; 
    public abstract class Telphone{
    public viod call(){
    System.out.println("通过语音打电话");
    }
    public voif message(){
    System.out.println("通过语音发短信");
    } 
    }


    查看全部
  • package lmr ; 
    public abstract class Telphone{
    public viod call(){
    System.out.println("通过键盘打电话");
    }
    public voif message(){
    System.out.println("通过键盘发短信");
    } 
    }


    查看全部
  • 。。。。。。


    查看全部
  • 向上类型转换(隐式/自动类型转换),是小类型到大类型的转换

    向下类型转换(强制类型转换),是大类型到小类型

    instanceof运算符,来解决引用对象的类型,避免类型转换的安全性问题

    查看全部
  • package lmr;
    public class Cat extends Animal{
    
    }


    查看全部
    0 采集 收起 来源:Java 中的多态

    2020-07-29

  • package lmr;
    public class Dog extends Animal{
    public void eat(){
    System.out.println("狗是吃肉的");
    }
    }


    查看全部
    0 采集 收起 来源:Java 中的多态

    2020-07-29

  • package lmr;
    public class Animal{
    public void eat(){
    System.out.println("动物具有吃的能力");
    }
    }


    查看全部
    0 采集 收起 来源:Java 中的多态

    2020-07-29

  • 创建本类对象时,调用的方法为本类方法

    创建子类对象时,调用的方法为子类重写的方法或者继承的方法

    查看全部
    0 采集 收起 来源:Java 中的多态

    2020-07-29

  • package lmr;
    pubulic class Dogextends Animal{
    
    public static void main(String[] args){
    Animal obj1 = new Animal();
    Animal obj2 = new Dog();
    Animal  obj3  =  new  Cat();
    obj1.eat();
    obj2.eat();
    }
    }


    查看全部
    0 采集 收起 来源:Java 中的多态

    2020-07-29

  • 父类的引用可以指向本类的对象

    父类的引用可以指向子类的对象

    查看全部
    0 采集 收起 来源:Java 中的多态

    2020-07-29

  • 抽象父类


    public abstract  class Shapes {

    double radius;

    double longe;

    double high;


    public abstract double area();


    public abstract double perimeter();

    public Shapes() {

    }

    }

    Circle子类

    public class Circle extends Shapes {


    public double area() {

    return Math.PI * radius * radius;

    }

    public double perimeter() {

    return 2 * Math.PI * radius;

    }

    }

    Rectangle子类


    public class Rectangle extends Shapes {

    public double area() {

    return longe * high;

    }

    public double perimeter() {

    return (longe + high) * 2;

    }

    }

    main类

    public class mainShapes {


    public static void main(String[] args) {

    Shapes sh1 = new Circle();

    sh1.radius = 3.0;

    System.out.println("该圆的面积为:" + String.format("%.2f", sh1.area()));

    System.out.println("该圆的周长为:" + String.format("%.2f", sh1.perimeter()));


    Shapes sh2 = new Rectangle();

    sh2.longe = 2.0;

    sh2.high = 3.0;

    System.out.println("该矩形的面积为:" + sh2.area());

    System.out.println("该矩形的周长为:" + sh2.perimeter());

    }

    }

    执行结果

    该圆的面积为:28.27

    该圆的周长为:18.85

    该矩形的面积为:6.0

    该矩形的周长为:10.0

    发现抽象父类无法创建对象!

    查看全部
  • 成员变量和局部变量

    查看全部
  • 程序会给成员变量赋初始值,不会给局部变量赋初始值

    查看全部
  • 方法内部类:

    方法内部类就是内部类定义在外部类的方法中,方法内部类只在该方法的内部可见,即只在该方法内可以使用。

    由于方法内部类不能在外部类的方法以外的地方使用,因此方法内部类不能使用访问控制符和 static 修饰符。

    查看全部

举报

0/150
提交
取消
课程须知
本课程是Java开发的基础,需要大家:掌握 Java 基本语法的使用。如果您是新手,建议先移步 《Java入门第一季》https://www.imooc.com/learn/85
老师告诉你能学到什么?
• 掌握 Java 编程思路 • 熟练运用面向对象程序设计思想

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!