Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

2019-11-18~2019-11-23 周分享总结 #6

Open
Tsumikiiiii opened this issue Nov 24, 2019 · 0 comments
Open

2019-11-18~2019-11-23 周分享总结 #6

Tsumikiiiii opened this issue Nov 24, 2019 · 0 comments
Labels
daily share Daily Share Summary documentation Improvements or additions to documentation question Further information is requested

Comments

@Tsumikiiiii
Copy link

2019-11-18~2019-11-23 周分享总结

分享人:何芷靓| 分享日期:2019-11-18

题目:

class Egg{
    protected class Yolk{
        public Yolk(){
            System.out,println("Egg.Yolk");
        }
    }
    private Yolk y;
    public Egg(){
        System.out.println("New Egg()");
        y=new Yolk();
    }
}
class BigEgg extends Egg{
    public class Yolk{
        public Yolk(){
            System.out.println("BigEgg.Yolk()");
        }
    }
    public static void main(String[]args){
        new BigEgg();
    }
}
public class A{
    public void A(){System.out.println("A");}
    public void AC(){A();}
}
public class B extends A{
    public void A(){System.out.println("B");}
    public void D(){super.AC();}
    public static void main(String args[]){
        B b=new B();
        b.D();
    }
}

回答:

1.New Egg()
  Egg.Yolk()
2.B

解答:

1.初始化子类之前需要先进行父类的初始化,所以会调用父类的构造方法。先输出New Egg() 然后又new了一个内部类对象 所以调用内部类Yolk的构造方法 输出Egg.Yolk。

2.主方法里调用了对象b对象的D方法,D方法又调用了父类的AC方法。父类的AC方法又调用了A方法,但是此时子类覆盖了父类的A方法,默认调用了子类重写的A方法,所以输出B

分享人:孙鹏翔| 分享日期:2019-11-19

关于内部类的两篇博客

参考链接1--内部类详解

参考链接2--内部类的继承和实现

分享人:杨兴旺| 分享日期:2019-11-20

问题:

public class Test2{
    public static void main(String args[]){
    Parrent p=new Parrent();
    Parrent c=new Child();
    
    System.out.println(p.getName());
    System.out.println(c.getName());
  }
}
class Parrent{
    public static String getName(){
        return "Parrent";
    }
}

class Child extends Parrent{
    public static String getName(){
        return "child";
    }
}

答案:

Parrent
Parrent

解答:1.在java中静态方法可以被继承,但是不能被重写。

​ 2.父类引用指向子类对象时,只会调用父类的静态方法,不具有多态性。(输出两个Parrent的原因)

参考链接

分享人:宋丽| 分享日期:2019-11-21

public class TestSync2 implements Runnable{
  int b=100;
    
   synchronized void m1()throws InterruptedException{
       b=1000;
       Thread.sleep(500); //6
       System.out.println("b="+b);
   }
   synchronized void m2() throws InterruptedException{
       Thread.sleep(250); //5
       b=2000;
   }
   public static void main(String args[])throws InterruptedException{
       TestSync2 tt=new TestSync2();
       Thread t=new Thread(tt); //1
       t.start(); //2
       tt.m2();
       System.out.println("main thread b="+tt.b);//4
   }
    @Override
     public void run()
     {
         try{
             m1();
         }
         catch(InterruptedException e){
             e.printStackTrace();
         }
     }

详细解析参考链接

分享人:韩思玥| 分享日期:2019-11-22

关于怎样上传图片到七牛云并返回图片的url

参考链接

分享人:王增益| 分享日期:2019-11-23

问题:

interface(接口)里面可以有方法的实现吗?

回答:default和static方法可以在接口里实现。

注意事项:

1.接口的默认方法,可以直接使用实现类的对象进行调用,也可以在实现类中对其进行覆盖重写。

2.接口中静态方法和类中静态方法一样,只能通过接口.静态方法名的方式调用

直接整活(放代码):

public interface Ceshi {
    public default void s1(){
        System.out.println("默认方法");
    }
    public static void s2(){
        System.out.println("静态方法");
    }

}
public class Impl implements Ceshi {
}
public class Main {
    public static void main(String []args) {
        Impl impl = new Impl();
        impl.s1();
        Ceshi.s2();
    }
}

结果:

默认方法
静态方法
@GeniusDSY GeniusDSY added daily share Daily Share Summary documentation Improvements or additions to documentation question Further information is requested labels Nov 26, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
daily share Daily Share Summary documentation Improvements or additions to documentation question Further information is requested
Projects
None yet
Development

No branches or pull requests

2 participants