已采纳回答 / hevrcccj65gegg
解决方法就是把你的Shape删掉重新写一个java抽象类就好了,因为你创建的是接口,但是我看好像这里讲的课里面Shape不是接口,是抽象类
2018-08-21
最新回答 / 青柳_
哦哦 我明白了 我两对象比较错了 if(phone1.equals(phone2))这里应该是 if(phone1.equals(phone2.a()))我的想法是用equals()方法比较相同属性的成员变量与局部变量 经过测试 两对象确实是不同的 即使都是int类型也是不同的
2018-08-20
最赞回答 / 慕后端1338084
你的方法参数写错了。正方形的参数传两个,圆形的传一个就可以了。main方法中,调用类方法时,用相应的子类去声明对象,调用本类的方法。一下是我的代码,可运行package j2ee;import java.util.Scanner;public class HelloWord{ public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.print("请输入矩形...
2018-08-20
已采纳回答 / weibo_爱你发自内心的微笑_0
构造方法和同类里的其他方法没有关系呀。构造方法是你创建这个类后,程序自己就已经帮你写好了一个你看不到但是程序里存在的构造方法,你也可以写出来,你写了程序就不会帮你写了,你要是不写,程序里也有,只是你没有看到代码。public 修饰的方法,是你自己写的方法呀,也可以使用其他的访问修饰符。下面这个是网上看到的:将构造方法设定为public,只是为了限制对象的实例化,是为了屏蔽掉外部通过new 实例当前对象。构造方法可以用 public、private、protected 修饰,但不能用 static,因为构造...
2018-08-19
已采纳回答 / hevrcccj65gegg
一般是根据父类抽象方法去规范子类覆写方法;但是如果你先定义子类方法有参数值,如果需要使用子类实例化对象,则子类必须不为抽象类,即覆写父类所有抽象方法;而方法覆写的返回值和参数列表必须与父类一模一样。所以,你父类的抽象方法也需要设置参数
2018-08-19
普通初始化块:创建对象时隐式调用
静态初始化块:类加载时隐式调用
当加载类的时候,会自动执行静态初始化块,然后创建对象的时候,会按初始化块>构造器的顺序执行;
静态初始化块:类加载时隐式调用
当加载类的时候,会自动执行静态初始化块,然后创建对象的时候,会按初始化块>构造器的顺序执行;
2018-08-18
最新回答 / MOOC枫
创建一个对象后,因为相当于调用了构造方法,所以首先会执行构造方法;然后会执行普通初始化块。其次,静态初始化块static{ } 会在类加载时执行,且只会执行一次。详见JAVA入门第二季1-10的例题
2018-08-18