>  기사  >  Java  >  Java 클래스 변수 및 클래스 메소드 인스턴스 분석

Java 클래스 변수 및 클래스 메소드 인스턴스 분석

WBOY
WBOY앞으로
2023-04-17 22:25:01895검색

1.정적 정적 변수

1. 정적 변수는 동일한 클래스의 모든 개체에서 공유됩니다.

2.정적 클래스 변수는 클래스가 로드될 때 생성되어 사용됩니다.

정적은 클래스 인스턴스의 끝에 저장됩니다. the heap

3. C 언어 C++과 약간 비슷합니다

package com.demo.static_;
import java.sql.SQLOutput;
public class childgeme {
    public static void main(String[] args) {
        Child ch01=new Child("牛牛牛");
        ch01.join();
        ch01.count++;
        Child ch02=new Child("马马马");
        ch02.join();
        ch02.count++;
        Child ch03=new Child("猪猪猪");
        ch03.join();
        ch03.count++;
        System.out.println("共有"+Child.count+"个小孩加入了游戏");
        System.out.println("ch01.count="+ch01.count);
        System.out.println("ch02.count="+ch02.count);
        System.out.println("ch03.count="+ch03.count);
    }
}
class Child{
    private String name;
    //定义一个变量count,是一个类变量(静态变量)
    public static int count=0;
    public Child(String name) {
        this.name = name;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public static int getCount() {
        return count;
    }
    public static void setCount(int count) {
        Child.count = count;
    }
    public void join(){
        System.out.println(this.name+"加入了游戏");
    }
}

Java 클래스 변수 및 클래스 메소드 인스턴스 분석

2. 클래스 변수(정적 변수에 대한 접근)

정적 변수의 접근 권한과 범위는 일반 속성과 동일합니다

package com.demo.static_;
import java.sql.SQLOutput;
public class visit_Static {
    public static void main(String[] args) {
        //1.类名.类变量名
        //static类变量在类加载的时候就生成使用
        System.out.println("A.name="+A.name);
        System.out.println("A.getAge()="+A.getAge());
        //2.类对象.类变量名
        A a=new A();
        System.out.println("a.name="+a.name);
        System.out.println("a.getAge()="+a.getAge());
    }
}
class A{
    //类变量
    public static String name="Demo龙";
    private static int age=99;
    public static int getAge() {
        return age;
    }
    public static void setAge(int age) {
        A.age = age;
    }
}

Java 클래스 변수 및 클래스 메소드 인스턴스 분석

클래스 변수가 private이면 메인 함수에서 접근할 수 없으며 클래스 함수의 도움으로 접근해야 합니다

3. 클래스 메서드

1. 클래스 메서드를 정적 메서드라고도 합니다

2. 수정자 + 정적 + 데이터 반환 유형() {}

3. 정적+ 액세스 수정자 + 데이터 반환 유형() {}

4. 호출 방법은 클래스 방법과 동일합니다

package com.demo.static_;
public class static_method {
    public static void main(String[] args) {
        stu a01=new stu("小虎");
        //stu.sumfee();
        a01.sumfee(150);
        stu a02=new stu("小龙");
        a02.sumfee(250);
        //stu.sumfee();
        stu a03=new stu("小猪");
        stu.sumfee(199);
        //输出当前收到的总学费
        stu.showfee();
    }
}
class stu{
    private String name;//普通成员
    //定义一个静态变量来累计学生的学费
    private static double fee=0;
    public stu(String name) {
        this.name = name;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    //当方法使用了static修饰后,该方法就是静态方法
    //静态方法就可以访问静态变量
    public static double getFee() {
        return fee;
    }
    public static void setFee(double fee) {
        stu.fee = fee;
    }
    public static void sumfee(double fee){
        stu.fee+=fee;
    }
    public static void showfee(){
        System.out.println("总学费="+stu.fee);
    }
}

Java 클래스 변수 및 클래스 메소드 인스턴스 분석

detail

1 . 정적 메서드는 정적 멤버에만 액세스할 수 있으며 클래스 메서드에서는 this/super를 사용할 수 없습니다.

2. 비정적 메서드는 정적 멤버와 비정적 멤버 모두에 액세스할 수 있습니다

3.

위 내용은 Java 클래스 변수 및 클래스 메소드 인스턴스 분석의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제