其他
-
?public class PokeDemo {
? ? ?public static void main(String[] args ){
? ? ? ? ?try {
? ? ? ? ? ? ?Pokemon a1 = PokemonManage.getPokemon("Surf");
? ? ? ? ? ? ?a1.eat();
? ? ? ? ? ? ?a1.skill();
? ? ? ? }catch (Exception e){
? ? ? ? ? ? ?e.printStackTrace();
? ? ? ? }
? ? }
??
?}
-
注意下,这种写法下会导致a1在{}作用域外无法使用 -
所以针对异常处理的话,我个人感觉他不是用来在主函数里进行对象创建的时候用的,而是检验算法中正确性用的 -
论正确的如何在创建对象的过程中完成对错误的鉴定 ?Pokemon pokemon = null;
? ? ? ? ?try{
? ? ? ? ? ? ?if(a.equals("Surf")){
? ? ? ? ? ? ? ? ?pokemon= new Pachirisu();
? ? ? ? ? ? }else if(a.equals("Cut")){
? ? ? ? ? ? ? ? ?pokemon= new Lapras();
? ? ? ? ? ? }else if (a.equals("Cut Surf")){
? ? ? ? ? ? ? ? ?pokemon= new Furret();
? ? ? ? ? ? }else if(a.equals("Cut,Surf")){
? ? ? ? ? ? ? ? ?pokemon = new Furret();
? ? ? ? ? ? }else {
? ? ? ? ? ? ? ? ?throw new Exception("Please input again , because your operation is out of order");
? ? ? ? ? ? }
? ? ? ? ? ? ?return pokemon;
? ? ? ? }catch (Exception e){
? ? ? ? ? ? ?e.printStackTrace();
? ? ? ? ? ? ?return null;
? ? ? ? }
? ? }
-
如何在格式字符串输出的时候里面包含双引号,可以按下面的操作 ? throw new Exception("Please input again and make sure that your operation is in the range of " +
? ? ? ? ? ? ? ? ? ? ? ? ?"\"Cut\" and \"Surf\" and \"Cut Surf\""); -
请说说 Java 中抽象类和接口的不同之处
-
我自己通过查资料,早期的接口其实没有default这种方法,也就是说,它全部都是抽象方法,每一个都需要实现对象去实现,而抽象类不是,抽象类可以自己先定义一些方法,然后选择让子类去实现那些抽象方法,并重写父类中定义的方法,只要符合规范就好,当然,自从接口有了default的方法以后,这个差别就没有了感觉 -
然后就是抽象类和子类是单继承的关系,也就是说子类只能有一个父类,但是接口不一样,一个类可以实现多个接口. -
抽象类中可以定义私有方法,但是接口不行
-
接口的变量默认被什么修饰符修饰? 方法呢?
-
接口的变量默认被修饰为public static final类型,方法默认被public修饰符修饰 ?public class two implements three {
? ? enum test{
? ? ? ? a,b,c,d,e,max
? ? }
? ? //three.a=89;
??
? ? @Override
? ? public void test() {
? ? ? ? System.out.println("hello ");
? ? }
??
? ? public static void main(String[] args){
? ? ? ? //three.a=99;
? ? ? ? System.out.println(three.a);
? ? }
?}
-
接口中只能有 public 公有方法 这句话正确咩?
-
我其实有点不太理解这句话,因为接口里还可以有属性(狗头) -
如果说的是能不能有private修饰的方法的话,我的答案是不能,因为接口设计出来就是让类实现方法用的,如果执着定义私有方法,不如直接用抽象类来的舒服
-
父类如果实现了一个接口的话,子类就会默认继承父类实现的接口,即便接口里被父类实现的方法存在默认方法 ?public interface three {
? ? ?int a=9999;
? ? ?void test();
? ? ?public default void testTwo(){
? ? ? ? ?System.out.println("this is a test");
? ? }
?} ?public class two implements three {
? ? ?enum ?test{
? ? ? ? ?a,b,c,d,e,max
? ? }
? ? ?//three.a=89;
??
? ? ?@Override
? ? ?public void test() {
? ? ? ? ?System.out.println("hello ");
? ? }
??
??
? ? ?public static void main(String[] args){
? ? ? ? ?//three.a=99;
? ? ? ? ?System.out.println(three.a);
? ? ? ? ?three Three = new two();
? ? }
?} ?public class four extends two{
? ? ?public static void main(String[] args){
? ? ? ? ?four test = new four();
? ? ? ? ?test.test();
? ? }
?}
|