>  기사  >  Java  >  JAVA 클래스와 객체(인스턴스 변수와 클래스 변수의 차이점)(인스턴스 메소드와 클래스 메소드의 차이점) 설명

JAVA 클래스와 객체(인스턴스 변수와 클래스 변수의 차이점)(인스턴스 메소드와 클래스 메소드의 차이점) 설명

高洛峰
高洛峰원래의
2018-05-25 09:30:004923검색

이 글소개JAVA클래스와 객체(인스턴스변수와 클래스 변수의 차이점)(인스턴스 메소드와 클래스 메소드의 차이점) 설명

인스턴스 변수

  • 인스턴스 변수는 클래스에서 선언되지만 메소드, 생성자 및 명령문 블록은

  • 객체가 인스턴스화되면 각 인스턴스 변수의 값이 결정됩니다.

  • 인스턴스 변수는 객체가 생성될 때 생성되고, 객체가 소멸될 때 소멸됩니다. time;

  • 인스턴스 변수의 값은 적어도 하나의 메소드, 생성자 또는 명령문 블록에서 참조되어야 외부에서 인스턴스 변수 정보를 얻을 수 있습니다. 이러한 메소드를 통해

  • 인스턴스 변수는 클래스의 메소드, 생성자 또는 명령문 블록에 표시됩니다. 일반적으로 인스턴스 변수는 비공개로 설정해야 합니다. 액세스 수정자를 사용하여 인스턴스 변수를 하위 클래스에 표시할 수 있습니다.

  • 인스턴스 변수에는 기본값이 있습니다. 숫자형 변수의 기본값은 0, 불리언 변수의 기본값은 false, 참조형 변수의 기본값은 null입니다. 변수 값은 선언 시 지정하거나

  • 인스턴스 변수에 변수 이름을 통해 직접 액세스할 수 있습니다. 그러나 정적 메서드 및 기타 클래스에서는 정규화된 이름인 ObejectReference.VariableName을 사용해야 합니다.

클래스 변수(정적 변수)

  • 클래스 변수는 정적 변수라고도 하며, 정적 키워드선언. 그러나 메소드 생성자 및 명령문 블록 외부에 있어야 합니다.

  • 클래스가 얼마나 많은 객체를 생성하더라도 클래스에는 클래스 변수의 복사본이 하나만 있습니다.

  • 정적 변수는

    상수로 선언된 경우를 제외하고는 거의 사용되지 않습니다. 상수는 public/private, final 및 static 유형으로 선언된 변수를 의미합니다. 초기화 후에는 상수를 변경할 수 없습니다.

  • 정적 변수는 정적 저장 영역에 저장됩니다. 종종 상수로 선언되는 변수는 정적만을 사용하여 선언되는 경우가 거의 없습니다.

  • 정적 변수는 프로그램 시작 시 생성되고 프로그램 종료 시 소멸됩니다.

  • 은 인스턴스 변수와 유사한 가시성을 갖습니다. 그러나 클래스 사용자에게 표시되기 위해 대부분의 정적 변수는 공개 유형으로 선언됩니다.

  • 기본값은 인스턴스 변수와 유사합니다. 숫자 변수의 기본값은 0이고, 불리언 변수의 기본값은 false이며, 참조 유형의 기본값은 null입니다. 변수의 값은 변수를 선언할 때 또는 생성자에서 지정할 수 있습니다. 또한 정적 변수는 정적 문 블록에서 초기화될 수도 있습니다.

  • 정적 변수는

    ClassName.VariableName을 통해 액세스할 수 있습니다.

  • 클래스 변수를 public static 최종 유형으로 선언하는 경우 클래스 변수 이름은 대문자를 사용해야 합니다. 정적 변수가 public 또는 final 유형이 아닌 경우 이름 지정 방법은 인스턴스 변수 및 지역 변수의 이름 지정 방법과 일치합니다.

  • class TiXing{
        float up,height;
        static float down;
        
        TiXing(float x,float y,float z){
            up=x;
            height=y;
            down=z;
        }
    }
    
    public class ep3_9{
        public static void main(String args[]){
            TiXing one=new TiXing(1,2,3);
            System.out.println("one's down is:"+one.down);
            TiXing two=new TiXing(4,5,6);
            System.out.println("one's down is:"+one.down);
            System.out.println("two's down is:"+two.down);
        
            System.out.println("TiXing's down is:"+TiXing.down);
        }
    }

这篇文章介绍JAVA类与对象(实例变量与类变量的区别)(实例方法和类方法的区别 )说明

인스턴스 메소드 및 클래스 메소드를 통해 인스턴스 변수 및 클래스 변수에 액세스

인스턴스 메서드는 현재 객체의 인스턴스 변수나 클래스 변수에 대해 작동할 수 있습니다. 인스턴스 메소드는 인스턴스 객체에 의해 호출됩니다.

  • 클래스 메서드는 인스턴스 변수에 액세스할 수 없으며 클래스 변수에만 액세스할 수 있습니다. 클래스 메소드는 클래스 이름이나 인스턴스 객체로 호출됩니다. 이 또는

    super키워드

  • class TiXing{
         private float up,height;
         private static float down;
        
        TiXing(float x,float y,float z){
            up=x;
            height=y;
            down=z;
        }
        public void display(){
            System.out.println("up is:"+up+"height is:"+height+"down is:"+down);
        }
        public static void change(float number){
            down=number;
            //System.out.println("height:"+height);//出错
        }
    }
    
    public class ep3_9{
        public static void main(String args[]){
            TiXing one=new TiXing(1,2,3);
            one.display();
            TiXing two=new TiXing(4,5,6);
            one.display();
            two.display();
        
            //TiXing.display();//出错
            one.change(101);
            one.display();
            two.change(102);
            two.display();    
        }
    }

这篇文章介绍JAVA类与对象(实例变量与类变量的区别)(实例方法和类方法的区别 )说明는 클래스 메소드에 나타날 수 없습니다.

위 내용은 JAVA 클래스와 객체(인스턴스 변수와 클래스 변수의 차이점)(인스턴스 메소드와 클래스 메소드의 차이점) 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.