栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

小芳同学的错题总结(十四)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

小芳同学的错题总结(十四)

1.题目:

现有:
public class Passer{
         static final int X=5;
         public static void main(String [] args){
               new Passer().go(X);
               System.out.print(X);
         }
         void go(int X){
              System.out.print(X++);
         }
}
结果是什么?

A 55  B 56  C 65  D 66

答案:A

真的是,又掉坑里去了,悲伤逆流成河都不能表达我内心的悲伤。static final int X=5;其实这句代码已经提醒我们这里有坑了,用final关键字修饰的变量一经赋值就不能再改变了。 new Passer().go(X);中指的是将static final int X=5;的值给了int X,在函数go中对int X变量进行怎样更改都不会影响 final int X的值。 System.out.print(X++);因为是后置自增所以先输出后自增,输出5,   System.out.print(X);调用go函数不会影响它的值,所以还是输出5;故答案为A。

2.static关键字可以修饰类,该类就是静态内部类。static修饰类时就只有这一种情况哦。


3.

class Super {

           public Integer getLenght() {

                 return new Integer(4);

          }

}

public class Sub extends Super {

                 public Long getLenght() {

                       return new Long(5);

                 }

       public static void main(String[] args) {

                  Super sooper = new Super();

                 Sub sub = new Sub();

                System.out.println(sooper.getLenght().toString() + "," + sub.getLenght().toString() );

      }

}

输出是什么?

A 4,4   B  4,5   C  5,4  D 编译错误

答案:D

这题涉及的时方法重写的概念,不得不说细节的重要性,方法重写要求两个方法的返回值类型、方法名、参数列表相同,对于访问权限,子类的权限应大于或等于父类中的权限,最好跟父类权限一致较好。这题 public Integer getLenght()和 public Long getLenght() 你看出哪个地方的错误了吗,对,就是返回值类型,所以本题会出现编译错误。

4.子类可以通过super关键字调用父类的方法,属性(非私有的哦)

宝剑锋从磨砺出,梅花香自苦寒来。--冯梦龙

加油!小芳同学

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/306975.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号