为了账号安全,请及时绑定邮箱和手机立即绑定
  • 为什么要在public class dog extends animol下面再建一个class lnitail呢

    因为刚才 创建的 Animal ,Dog, Cat 都是普通的类,而程序运行都要从主类的main方法开始 public void main (String[],args) {   },所以要创建一个主类 。视频中的主类命名为 lnitail。

    查看全部
    0 采集 收起 来源:Java 中的继承

    2020-09-10

  • Animal与dog是属于封装好的类,单独编译不能输出任何效果,需要通过主函数main才能输出

    比如,就像老师建的对象Animal,dog等,如果它们的属性和方法全部写在main中(程序的执行需要在主函数买main中才能执行),就会又乱又复杂,所以将它们封装,你想输出什么样的效果,将它在main中写下来,就能输出效果啦


    查看全部
    0 采集 收起 来源:Java 中的继承

    2020-09-10

  • 你在调用内部类的方法时,输出的是newScore (是一个对象,最后得到的是它的存储地址),如果你想得到93这个结果,你需要声明一个int型的变量(我这里面是s),再把 newScore.getScore() 的结果赋给变量s(也就是     int s = newScore.getScore() ),最后输出s (这才是个整型变量)。

    查看全部
  • 请问,在调用内部类的方法时,为何不是同图中的的案例mi.print类似,而是int newscore = mi.getscore();.请讲解下,谢谢
    图片案例中的print()方法,里面有输出代码,只要调用就可以直接用方法输出了,但是例题中的 getScore()方法不具有输出语句,是个具有返回值的方法,因此他需要在外面定义一个变量,用来存放输出返回值

    查看全部
  • Int的作用(因为他有返回值,而他的返回值是整型)

    对方法而言,分为无参数无返回值,无参数有返回值,有参数无返回值,有参数有返回值四种。对于有返回值类型的方法必须给出返回类型。所以对于返回值是int型的方法必须带int。


    查看全部
  • 输出语句放在调用方法类内部时你要先对其进行变量的赋值才对,不然电脑怎么知道newScore在哪里,他不可能调用方法内部类的方法去解决的,因为没有访问权限啊!改成下面这样就可以了

    int newScore = si.getScore();

    System.out.println("姓名:" + Huida.this.name + "\n加分后的成绩:" + newScore);


    查看全部
  • 为什么有的在调用方法时不用加int?这里要加?

    // 创建方法内部类的对象

            MInner in=new MInner();

            

            // 调用内部类的方法

    int newScore=in.getScore();

            

    System.out.println("姓名:" + name + "\n加分后的成绩:" + newScore);

    }




    内部类中创建了一个无参有返回值的方法,返回值返回加分后的成绩,in.getScore()这里调用内部类的方法并且返回加分后的成绩值,这个值需要有一个新的变量来接收,创建变量需要先声明变量的类型,然后in.getScore()中的值赋给了newScore变量。


    查看全部
  • 为什么创建静态内部类的对象时,不需要外部类的对象,可以直接创建 内部类 对象名= new 内部类();但是创建普通内部类的对象时要先创建一个外部类对象?
    这个类似于一个类的静态成员变量和普通成员变量的调用,静态成员变量是通过类名去调用,不用创建该类对象;而普通成员变量是通过创建一个该类的对象,使用该对象去调用。所以你这个亦同理

    查看全部
  • static修饰的静态方法中不能使用this, this关键字它的值是当前对象的引用.

    用它来调用属于当前对象的方法

    或者使用this处理方法中版成员变量和局部变量重名的情况.

    而static修饰的静态方法、成员变量是属于一个类的,而不是某一个对象,this找不到具体的对象

    1.成员内部类通过:外部类类名.this.外部类中的成员属性,来访问外部类中与内部类同名的成员变量

    不能直接:外部类类名.外部类中的成员属性,因为非静态属性不能通过类名直接访问

    2.静态内部类通过:外部类类名.外部类中的成员属性,访问外部类中的静态成员属性

    通过:new 外部类名().非静态成员属性,访问外部类中的非静态方法

    本人自己的观点,如果有不足或者错误欢迎大佬批评指正


    查看全部
  • 静态类可以使用this+成员名,也可以使用类名+成员名

    在非静态中使用类名+this+成员名


    查看全部
  • 没返回值的方法不能用print输出。


    查看全部
  • 子类父类之间的转换

    http://img4.sycdn.imooc.com/5f5836120001e94606450135.jpg

    子类1转化为父类  再将实例化的父类转化子类2会出错

    比如  狗转动物  再将此动物转化为猫   编译时是猫 运行时是狗

    可以增加  instanceof   进行判断

    http://img1.sycdn.imooc.com//5f583ce3000162d807220272.jpg

    查看全部
  • 引用多态:

    http://img1.sycdn.imooc.com//5f5834f60001533406250195.jpg

    http://img1.sycdn.imooc.com//5f5835200001eecb05100078.jpg

    父类不可以调用子类独有的方法

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

    2020-09-09

  • equals    比较的是对象的引用是否指向同一块地址

    if (a.equals(b)){}比较的是地址


    如果要用equls比较对象是否值相等

    http://img1.sycdn.imooc.com//5f5831eb00017d0211960658.jpg

    查看全部
  • http://img1.sycdn.imooc.com//5f5828600001517710010295.jpg

    父类如果继承Object类,那么子类所调用的父类属性全是哈希code值,如果要调用父类属性,需要在子类中加入  

    public String toString(){

            return“子类 【age=“+age+”】”;  }

    查看全部

举报

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

微信扫码,参与3人拼团

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

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