高老师,你好,有个小问题请教一下,我的光标为啥在这儿闪烁,
elicps 假如刪錯了,怎麼進行撤回呢?
public String toString() { return getClass().getName() + "@" + Integer.toHexString(hashCode()); }
读源码问题1:默认会返回“类名+@+16进制的hashcode,其中getClass()指的是包名吗?getName()指的是类名吗?hashCode()指的是什么了?
问题2:java源码有很多,成为称职的java开发人员,是不是需要把常用的类,方法都了如指掌?该怎么做到不相混淆,且还能记得住?
版本0.3同样不知道错在哪,网上搜索说可能是图片路径不对,核对后发现没问题啊
package cn.sxt.game; import java.awt.Graphics; import java.awt.Image; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import javax.swing.JFrame; /** * 飞机游戏的主窗口 * @author 高毅 * */ public class MyGameFrame extends JFrame{ Image plane = GameUtil.getImage("images/plane.png"); Image bg = GameUtil.getImage("images/bg.jpg"); int planeX = 250,planeY = 250; @Override public void paint(Graphics g) { //自动被调,g相当于一支画笔 super.paint(g); g.drawImage(bg, 0, 0, null); g.drawImage(plane, 250, 250, null); planeX++; } //内部类方便使用外部类的属性方法 //帮助我们反复重画窗口 class PaintThread extends Thread{ @Override public void run() { while(true) { System.out.println("窗口画一次"); repaint(); //重画 try { Thread.sleep(40); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } //1s=1000ms } } } /** * 初始化窗口 */ public void launchFrame(){ this.setTitle("尚学堂学员,程序员作品"); this.setVisible(true); //设置可见 this.setSize(500, 500); //设置窗口大小 this.setLocation(300,300); //窗口位置 this.addWindowListener(new WindowAdapter() { //设置窗口关闭 @Override public void windowClosing(WindowEvent e) { System.exit(0); } }); new PaintThread().start(); //启动窗口重画的线程 } public static void main(String[] args) { MyGameFrame f = new MyGameFrame(); f.launchFrame(); } }
错误显示如下:
老师,我想问一下为什么我在launchFram方法中没有加this也同样运行起来了,在这个方法中this究竟有哪些作用
老师为什么我的会出现这个?
代码区:
package cn.sxt.oo2; /** * 测试继承 * @author 高淇 * */ public class TestExtends { public static void main(String[]args) { Student stu=new Student(); stu.name="高淇"; stu.height=172; stu.rest(); Student stu2=new Student("希希",6,"挖掘机专业"); System.out.println(stu2 instanceof Student); System.out.println(stu2 instanceof Person); System.out.println(stu2 instanceof Object); System.out.println(new Person() instanceof Student); } } class Person /*extends Object*/{ String name; int height; public void rest() { System.out.println("休息一会!"); } } class Student extends Person{ String major; public void study() { System.out.println("学习两小时!"); } public Student(String name,int height,String major) { this.name=name; this.height=height; this.major=major; } public Student() { } }
问题:第20行那里,为什么要new一个Person?第25行不是建了一个Person类了吗?
可以有多个main重载吗?(符合重载的条件,就是名字都叫main,会不会有问题?)
老师,自动类型装换是说“空间小的数据类型自动可以转化为空间大的数据类型”,那么long占8个字节 float占4个字节,那为什么可以进行损失精度的自动类型装换呢??
你好老师如上图显示,我定义bb[4]的时候超出了一维数组的长度,而且如果假设bb[4]不在这个二维数组里面,那么
bb[4] = new int[] {111,141,444,456};
这样的写法也不属于常规数组的定义方法,虽然运行结果是错的,但是为什么没有报错,而且有关bb[4]的所有操作都没有报错,只有运行结果会报错
重写的代码
public class Chongxie { public static void main(String[] args) { Vehicle v1 = new Vehicle(); Vehicle v2 = new Horse(); //返回值类型和声明异常类型,子类小于等于父类。 Vehicle v3 = new Plan(); v1.run(); v2.run(); v2.stop(); v3.run(); v3.stop(); } } class Vehicle{ //交通工具类 public void run(){ System.out.println("跑.........."); } public void stop(){ System.out.println("停止不动"); } } class Horse extends Vehicle{ //马也是交通工具 public void run(){ //重写父类方法 System.out.println("四蹄翻飞,嘚嘚嘚......"); } } class Plan extends Vehicle{ public void run(){ //重写父类方法 System.out.println("天上飞"); } public void stop(){ //重写父类方法 System.out.println("空中不能停,坠毁"); } }
在视频5分钟的时间,说必须强转才可以使用seeDoor() 方法
那么为什么在重写里 v3并没有强转,就可以直接使用子类plan里的stop()方法?
老师:请问为什么类下有Computer comp的声明,还要在main方法中写Computer 呀,是因为它是引用型变量么,但是为什么String型就不用在声明呀
问题2:
老师请问这个是什么意思呀
1、这里为什么要用static修饰?别的地方都是Animal,为什么这里写成animalCry?
这个单词是什么意思
2、多态的调用格式就是第二幅图的固定格式吗?
如果想让结果输出:"结果是14",代码改如何打呢?
int a=6; int b=8
System.out.println(“其结果是:”+a+b); ←这一行如何修改呢?
老师,用面向对象的思想打印回文数,21,22,23,24那里为什么不能写i?还是分解个位数这些不能再main方法下写?
非常抱歉给您带来不好的体验!为了更深入的了解您的学习情况以及遇到的问题,您可以直接拨打投诉热线:
我们将在第一时间处理好您的问题!
关于
课程分类
百战程序员微信公众号
百战程序员微信小程序
©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园网站维护:百战汇智(北京)科技有限公司 京公网安备 11011402011233号 京ICP备18060230号-3 营业执照 经营许可证:京B2-20212637