자바 다 중 final 키워드 포장 류 포장 상자 뜯 기 템 플 릿 방법 디자인 모델 추상 적 방법 과 추상 적 인 인터페이스 와 실현 류

8021 단어 주간 신문
자바 다 중 final 키워드 포장 류 포장 상자 뜯 기 템 플 릿 방법 디자인 모델 추상 적 방법 과 추상 적 인 인터페이스 와 실현 류
  • 다 형
  • final
  • 포장 류 포장 상자 분해
  • 템 플 릿 방법 디자인 모델
  • 추상 적 인 방법 과 추상 류
  • 인터페이스 와 실현 류
  • 다 형
    다 중 통속 점 은 대상 을 만 드 는 것 이 부모 류 의 유형 이지 만 하위 클래스 의 대상 이다.부모 클래스 이름 클래스 = new 하위 클래스 이름 () 을 컴 파일 할 때 대상 을 부모 클래스 로 보고 실행 할 때 대상 을 하위 클래스 로 봅 니 다.다 중 장점: 코드 의 지루 성 을 줄 일 수 있 습 니 다.다 태 적 특징: 자 류 를 부 류 대상 으로 보지 만 운행 할 때 자 류 의 특징 을 나타 낸다.주의: 계승 은 다 태 적 전제 이지 만 개발 에 관련 된 다 태 적: 인터페이스 와 실현 류 의 관계.참조 형식 변환: 자동 형식 변환: 하위 클래스 대상 을 부모 클래스 변수 (다 중 형식) Animal a = new Dog () 에 부여 합 니 다. 강제 형식 변환: Dog b = (Dog) a 다 중 관련 코드:
    //  
    class Pet {
    public void eat() {
    
        System.out.println("     ");
    }
    public void feed(){
        System.out.println("     ");
     }
    
    }
    
    //  
    class Dog2 extends Pet{
    
    public void eat(){
        System.out.println("     ");
    
    }
    public void feed(){
        System.out.println("    ");
    }
        }
    
    class Cat2 extends Pet{
    public void eat(){
        System.out.println("    ");
    
    }
    public void feed(){
        System.out.println("    ");
    }
    

    }
    class Master{
    /*public void feed(Cat2 cat2){
       cat2.feed();         Master person=new Master();
                              person.feed(new Cat2());    */
    
    public void feed(Pet pet)
    {
        pet.feed();
    
    }
    

    }
    public class    {
    public static void main(String[] args) {
    
        //                   
        //              ,          ,         
        Pet cat1=new Cat2();//    (      )   Cat2   ,   Pet   
        cat1.eat();//                
        //Cat2 cat1=(Cat2) cat;        cat Pet     Cat2         ,          Cat2,       
        // cat1.eat();
        //Dog dog=(Dog) cat;     :Pet     Dog
        //     Pet dog=new Dog2;  Dog dog1=(Dog) dog;        
        /*   instanceof  if else                */
        if (cat1 instanceof Cat2)
        {
            Cat2 cat2=(Cat2) cat1;//               cat2
            System.out.println("     1");
        }
        else
        {
            Dog2 dog2=(Dog2) cat1;
            System.out.println("     2");
        }
    
       System.out.println();//    
    
        /*Master person=new Master();
        person.feed(new Cat2());          ,               ,
          Master     feed   */
    
        Master person=new Master();
        person.feed(new Cat2());
        person.feed(new Dog2());
        //                
    
    }
       //                 ,              
    }
    

    final
    final 수식 자 는 클래스, 방법, 변 수 를 수식 할 수 있 습 니 다.final 이 수식 하 는 클래스 는 하위 클래스 final 이 수식 하 는 방법 이 있어 서 는 안 됩 니 다. 하위 클래스 에서 좋 은 알고리즘 업 무 를 제공 할 때 하위 클래스 가 하위 클래스 를 계승 하지 못 할 때 final 수식 방법 을 사용 하도록 해 야 합 니 다.final 수식 변수: 기본 데이터 형식 에 대해 서 는 값 을 다시 바 꿀 수 없고 한 번 만 할당 할 수 있 습 니 다.인용 데이터 형식 에 대해 변수의 주 소 는 바 꿀 수 없 지만 변수의 내용 은 관련 코드 를 바 꿀 수 있 습 니 다.
    class show{
    String name="  ";
    public show(){
    
    }
    public void show(String name){
        this.name=name;
    }
    
    }
    public class final    {
    public static void main(String[] args) {
        final int num=17;//final        
        //num=12;      ,final            
        System.out.println(num);
        System.out.println();
        final show u =new show();
        System.out.println(u.name);
        u.show("  ");
        // u=new    .show("  "); final                  ,              
        System.out.println(u.name);
    
    }
    }
    

    포장 류 포장 상자 분해
    여기 서 말 하 는 것 은 기본 데이터 유형의 포장 류 이다.포장 류 에는 이 데이터 유형의 관련 물건 이 많 습 니 다. 예 를 들 어 최대 최소 치, 진법 전환 등 이 있 습 니 다. 또한 포장 류 가 확정 한 유형 은 대상 이 고 대상 은 null 과 0 두 가지 상 태 를 나 타 낼 수 있 습 니 다.8 대 기본 데이터 유형의 포장 류: Byte, Short, Integer, Long, Character, Float, Double, Boolean 8 대 기본 데이터 유형의 포장 류 는 모두 final 수식 류 이다.
    포장: 기본 데이터 형식 값 을 포장 류 에 대응 하 는 대상 (예 를 들 어 int - > integer) 으로 변환 합 니 다. 포장 류 의 대상 을 해당 하 는 기본 데이터 형식의 변수 (integer - > int) 로 자동 포장 합 니 다. 기본 값 을 유형의 값 에 따라 대응 하 는 포장 류 대상 에 게 직접 할당 할 수 있 습 니 다.자동 분해: 포장 류 의 대상 값 을 기본 데이터 형식 에 대응 하 는 변수 에 직접 부여 할 수 있 습 니 다.
        Integer num1=new Integer(17);//  
        Integer num2=Integer.valueOf(17);//         
        int num3=num2.intValue();//  
        Integer num4=16;//    
        int num5=num4;//    
        
        //num1,num2,num4    ,num3,num5  
    

    자동 분리 작업: switch 문 구 는 byte, short, char, int 뿐만 아니 라 지금도 Byte, Short, Character, Integer 를 지원 합 니 다.
    포장 류 는 기본 적 인 조작 이 있 습 니 다. 1. 모두 MAX 가 있 습 니 다.VALUE/MIN_VALUE / SIZE (데이터 차지) 2. 구조 기: 첫 번 째: 매개 변 수 는 기본 데이터 형식 Integer num = new = Integer (17) 두 번 째 입 니 다. 매개 변 수 는 String 형식 Integer num = new Integer (17) 입 니 다.방법: String - - > int 형식 Public static int parseInt (String str): 문자열 의 데 이 터 를 int 형식 int - - > String String str = String. valueOf (17) 로 변환 합 니 다. / /“17”
    템 플 릿 방법 디자인 모드
    개념: 부모 류 의 한 방법 에서 전체적인 알고리즘 의 골조 (템 플 릿 방법) 를 정의 하고 특정한 절 차 를 하위 클래스 로 지연 시 킵 니 다. 서로 다른 하위 클래스 가 디 테 일 을 실현 하기 때 문 입 니 다.템 플 릿 방법 은 하위 클래스 가 알고리즘 구 조 를 바 꾸 지 않 은 상태 에서 알고리즘 중의 일부 절 차 를 다시 정의 할 수 있 습 니 다.
        ://  1000    1000            
     abstract class OperateTemplate
     {
      public final long getTogetTime(){
      long begin=System.ourrentTimeMillis();
      doWork();
      long end =System.ourrentTimeMillis();
      return end-begin;
      }
      abstract protected void doWork();
     } 
     class IntOperate extends OperateTemplate
     {
     public void doWork(){
     long total=0;
     for(int i = 1;i<=10000;i++)
     {
     total+=i;
     }
     }
     class StringOperate extends OperateTemplate
     {
     public void doWork(){
     String str ="";
     for(int i=1;i<10000;i++)
     {
     str=str+i;
          }
     }
     }
    

    추상 적 방법 과 추상 류
    추상 적 인 방법: abstract 로 수식 하고 방법 체 가 없 는 방법.특징: 1. 방법 체 가 없 으 면 하위 클래스 에 남 겨 두 어 실현 한다.2. 추상 적 인 방법의 장식 부 호 는 private 와 final 과 static private 와 final 이 될 수 없다. 추상 적 인 방법 은 하위 클래스 에 남 겨 두 고 실현 해 야 하 는 static 가 안 되 는 것 은 static 가 쓰 는 방법 이 바 뀌 지 않 기 때문이다. 추상 적 인 방법 은 추상 류 나 인터페이스 에서 추상 류 로 정의 해 야 한다. abstract 키 워드 를 사용 하여 수식 하 는 유형 특징: 1. 인 스 턴 스 를 만 들 지 못 하면 new 추상 류 2 를 만 들 수 없다.추상 류 는 추상 적 인 방법 을 포함 하지 않 을 수 있 지만 추상 적 인 방법 이 있 으 면 이런 유형 은 반드시 추상 류 이다.3. 만약 에 자 류 가 부류 의 모든 추상 적 인 방법 을 실현 하지 못 하면 자 류 도 추상 적 인 유형 으로 해 야 한다.4. 구조 방법 은 사유 로 정의 할 수 없다. 왜냐하면 계승 할 때 부류 의 구조 방법 을 집행 하기 때문이다.5. 추상 류 는 final 로 수식 할 수 없다. 왜냐하면 서브 클래스 가 있어 야 추상 적 인 방법 이 실 현 될 수 있 기 때문이다.6. 불완전한 유형 이 므 로 기본 유형 으로 해 야 기능 이 실 현 될 수 있다.추상 류 와 일반 류 의 차이: 추상 류: 또한 하나의 유형 으로 추상 적 인 방법 (방법 체 가 없 는 방법) 추상 류 는 대상 을 만 들 수 없다 고 정의 할 수 있다.그 외 에 도 마찬가지다.
    인터페이스 와 실현 클래스
    정의: 인 터 페 이 스 는 주로 방법 을 정의 하 는데 특정한 행위 (방법) 를 가 져 야 한다 고 규정 합 니 다. 다른 유형 이 이 기능 을 가 지 려 면 인 터 페 이 스 를 실현 해 야 합 니 다.[수정자] 인터페이스 인터페이스 이름 {}
    인터페이스 구성원: 1. 전역 정적 상수 기본 Public static final 수식 2. 공공 정적 내부 클래스 기본 Public static 수식 3. 공공 추상 적 인 방법 기본 Public abstract 수식 Public interface 의 정의 및 구성원{/ 기본 abstract int age = 17; / 인터페이스 에서 정 의 된 변 수 는 기본적으로 Public static final 로 수식 되 기 때문에 인터페이스 로 상수 클래스 void walk () 를 사용 할 수 있 습 니 다. / / 인터페이스 에서 의 방법 은 기본적으로 Public abstract 를 접두사 class walk {} / 인터페이스 에 있 는 클래스 는 기본적으로 Public static 로 수식 합 니 다}
    인터페이스의 특징: 1. 구조 방법 이 없고 실례 화 할 수 없다. 2. 인 터 페 이 스 는 인터페이스 만 계승 할 수 있 고 클래스 를 계승 할 수 없 으 며 다 중 계승 (쉼표 로 분리) 을 지원 한다. 한 인 터 페 이 스 는 여러 개의 부모 인터페이스 3. 인터페이스 구성원 의 특징 을 허용 한다.
    interface IWalkable{
    void walk();
    }
    interface ISwimable{
    void swim();
    }
    interface      extends IWalkable,ISwimable{//          
    
    }
    class Animals{
    
    }
    class      extends Animals implements IWalkable{//                 ,     abstract    
    public void walk(){//     public,           public abstract
        System.out.println("  ");
    }
    }
    class      extends Animals implements ISwimable {//             ,            ,    
    
      public void swim() {
        System.out.println("  ");
     }
    }
    class       extends  Animals implements IWalkable,ISwimable{//       
                                                                 //            
    public void walk(){
        System.out.println("   ");
    }
    public void swim(){
        System.out.println("   ");
    }
    }
    class interfaceText {
    public static void main(String[] args) {
             i=new     ();
        i.swim();
             j=new     ();
        j.walk();
              k=new      ();
        k.swim();
        k.walk();
    
        ISwimable p=new     ();//  
        p.swim();
    }
    }
    

    좋은 웹페이지 즐겨찾기