1. 多态,是多种状态,多种形态,是用不同的角度去观察它

    就为了关注对象的不同方面,

    一个是继承一个是接口是多态的体现

    是编程的一种形式,

    重载是一个类中具有相同名称的方法

    class Richer{

       public void buy(){

    }

    }

//重用

class Dog extedns Animal{

    public void run(){

    

    }

}

class Jing8 extends Dog{


  public void run(){

   

  }

}


方法可以覆盖,但是属性是资产不可以覆盖。



class Richer{

   public void buy(){

   

   }

   public void beauty(){

   

   }

}

适配器 adapter:用来简化编程

-------------------

interface只的方法的声明,没有方法的实现

interface Listener{


  public void a1();

  public void a2();

  public void a3();

  public void a4();

  ..

}

abstract class MyListener implements Listener{


public void a1(){}

         public void a2(){}

         public void a4(){}

 

}

class BaseListener implements Listener{

//空实现

public void a1(){}

public void a2(){}

public void a3(){}

..


}

实现了接口的就叫作适配器,预先完成了很多基本的工作。

方便很多人做自己的事,适配就是适当的配合人做自己的事。

一般都将适配器作成抽你类。

因为BaseListener把接口全部实现 ,这样自己写的类就变简洁了

class MyListener extends BaseListener{


    public void a1(){

    

    }


}


class App{


  public static void main(String[] args){

  

     MyListener l=new MyListener();


     //一气呵成

     new BaseListener(){

     

public void a1(){

//这就是匿名内部类对象

....

}

     };

     //写代码的时候一定要成对存在,清晰

  }

}



静态变量,静态函数,静态类,静态代码块的访问,初始化过程

静态的只与类有关系与对象没有关系。


class Demo{

   static String name;

   static String getName(){

   

        return name;

   }

   static {

   

   

   }

}

静态成员在

方法区中有静态区

静态代码块


classLoader类加载器把类加载到类的方法区中

静态代码块在类加载的时候调用一次。

类完成成员变量与成员函数后才调用静态代码块。

静态代码块是加载的后处理。加载的后处理。

postLoader

---------------------------

类的静态代码块是在类的成员他们加载完毕之后调用的。





-------------

一个类的静态成分

生产者和消费者

path:

------------------

路径:

环境变量:path=路径 程序的搜索顺序。

这个路径是操作系统



classpath:类路径:搜索类的顺序 

细节决定成败

注意看帮助,JDK是中文帮助。



Exception  //可以解决的

Error //致命的,硬伤

class MyException extends Exception{




}

  throws new MyException();


  class A{

      public void xxx()throws MyException{

throw new MyException();

        

      }


  }




  class MyException extends RuntimeException{




}

  throws new MyException();


  class A{

  //自定义方法

      public void xxx(){

throw new MyException();

        

      }


      public static void main(String[] args){

           try{

xxx();

  

  } catch(MyException e){

  

        //e是异常对象的引用

  }

      }


  }


1.java.lang.Throwable

 2.子类

   java.lang.Exception ---> java.lang.Throwable

   java.lang.Error   ---> java.lang.Throwable


 3.运行时异常不需要在方法中声明

 非运行时异常,需要声明。

 多线程主要写灵活响应的桌面程序 。

 Daemon是守护线程,为其他程序服务的。