.1请问方法重写之后,我该如何能够自由的调用重写前重写后的结果呢?
public class Person { //定义出来Person的属性成员 String name; int heigth; public void rest1(){ System.out.println("啦啦啦,宿舍休息"); } } class Student extends Person{ //Student类继承父类Person所有的属性 Person拓展自Object的类 int score; public void study(){ System.out.println("正在学习"+this.name); } Student(String name, int height,int score){ //有参构造器,无参的自动删除 this.name =name; this.score = score; this.heigth = height; } public void rest(){ System.out.println("回宿舍睡觉"); } class Employee extends Person{ public void rest(){ //重写后的rest方法 System.out.println("办公区休息一下"); /*继承了Person类,但是rest方法重写了,重写又叫做覆盖 ,能用,但是是新的重写*/ } } public static void main(String[] args) { Student s = new Student("程成",15,55); //直接定义属性 s.study(); s.rest(); System.out.println(s instanceof Person); //instanceof 的作用:测试该类是否属于其测试类的子类 System.out.println(s instanceof Student); //instanceof 测试其从属类 System.out.println(s instanceof Object); //重写调用重写后的方法,没有重写调用父类的方法 s.rest1(); } }
就是比如说,我怎么让显示结果出来”回宿舍睡觉“与”办公室休息一下“这两个结果呢?
package test1; import java.util.Arrays; public class Test01 { public static void main(String[] args) { // TODO Auto-generated method stub Man[] man = { new Man(3,"a"), new Man(5,"c"), new Man(4,"b") }; Arrays.sort(man); System.out.println(Arrays.toString(man)); } } class Man implements Comparable { private int age; private String name; public Man(){} public Man(int age,String name){ this.age = age; this.name = name; } @Override public String toString() { return "年龄" +this.age +"\t"+"名字:" + this.name; } @Override public int compareTo(Object o) { Man man2 = (Man)o; if(this.age < man2.age) { return 1; }else if(this.age > man2.age) { return -1; }else { return 0; } } }
老师 1.请问为什么Arrays.sort()方法会直接调用Man类中重写的compareTo方法,我去源代码看了,没看懂=。=
2.
return 1 , return -1 是返回到哪里去了
老师帮我看看是什么问题,加了注释后报错,我看不出来,谢谢
pubilc class Text{
public static void main(String[] args){
//打印语句:我心之巅皆是生活
System.out.println("我心之巅皆是生活");
/**吾之初心,
*永世不忘
*/
System.out.println("吾之初心,永世不忘");
}
这个length是在哪声明的?
new ChildClass2();
这个是什么作用呀?
public FatherClass2
这个是创建对象吗?
ChildClass2()
我看这个后面的2不加也不报错,是什么原因呀?
都是跟着视频设置的,为啥出不来啊,试了好几遍了。
老师好,我自己在练习toString的时候写如下代码;
test { Person{ String } (String[] args) { Person p = Person()p.=p.=System..println(p)} }
在写第八行new Person();时候
idea体型必须吧Person类定义为静态,即第二行变成 static class Person{}才能运行。
因为之前讲到,静态是可以调用对象的,但反过来不可以,所以这里我不是很懂,psvm是静态方法,所以它去调用Person类(一个对象)应该没有问题,这里为什么会有问题呢?
而书中164页例5-5的结构:
class Person{ } public class Test{ psvm{ Person p = new Person(); } }
这里的Person又不需要定义static呢?谢谢
老师你好,这些课堂上ppt后面的作业答案在哪里找?
User { String String (idString nameString pwd){ .=id.=name.=pwdSystem..println(+id++name++pwd)} (String[]args){ User u1=User()User u2=User()System..println(u1)System..println(u2.toString())System..println(u1==u2)System..println(u1.equals(u2))} }
第一次运行输出结果
id1001name1pwd123456
com.zhang.test.User@15aeb7ab
com.zhang.test.User@7b23ec81
false
去掉/*后运行结果
com.zhang.test.User@408
true
使用equal方法后会直接对比实际数值,使输出结果产生上面这样的变化吗
老师,我在这个代码中加入了年收入yearSalary,但由于将实际月收入monthSalary1定义到每个if中,使得年工资的计算也必须在if中。我将实际月收入改在外面定义,目的是为了使得最后在if外面可以计算年工资,但会报错说monthSalary1未定义,如何修改?
final子类不能重写方法,那写方法的这个类可以重写这个方法吗
public class Test{ public static void main(String[] args) { int a = 3; System.out.println(a); System.out.println(1+a); System.out.println(a==3); System.out.println("1"+(a=a+1)); System.out.println(a==3); } }
屏幕的输出结果是:
---------------------------
34true14false----------------------------
那么我的问题是
第一行结果 console 控制台对外输出的是什么?是3这个数值,还是3这个字符,还是3这个字符串
通过第二行的结果分析 感觉似乎是 数值
通过第三行的结果分析 感觉println对外输出的是()中的运算结果
那么再看第四行结果,是否就是说,由于"1"是字符串 ,那么(a=a+1)这个括号中的运算结果和显示效果都是4, 最后 字符串连接符 将1 和 4 链接到了一起,为此console这个控制台对外输出的结果是字符串"14"
我的问题实际上是println 向 屏幕输出的 这个 结果 是 什么? 是叫常量? 还是叫变量中的值?
联想win11,在应用商店下载的,需要环境配置吗 还有安装的内容跟老师有点区别
问题BUG:
在做双色球项目中,不知道用什么方法来解决红色球号码重复的问题,我看其他同学的作业也都没有解决号码重复的问题,请问老师用什么途径能解决红色球号码重复的问题?
非常抱歉给您带来不好的体验!为了更深入的了解您的学习情况以及遇到的问题,您可以直接拨打投诉热线:
我们将在第一时间处理好您的问题!
关于
课程分类
百战程序员微信公众号
百战程序员微信小程序
©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园网站维护:百战汇智(北京)科技有限公司 京公网安备 11011402011233号 京ICP备18060230号-3 营业执照 经营许可证:京B2-20212637