Java超详细讲解类变量和类方法(java调用类变量)

网友投稿 373 2022-07-29


目录1.static静态变量2.类变量(静态变量的访问)3.类方法

1.static静态变量

1.静态变量被同一个类的所有对象共享

2.static类变量在类加载的时候就生成使用

static保存在class实例的尾部,在堆中

3.和C语言C++有点像

package com.demo.static_;

import java.sql.SQLOutput;

public class childgeme {

public oMdwzwMstatic 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+"加入了游戏");

}

}

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;

}

}

若类变量是private,则主函数中无法访问,需借助类函数访问

3.类方法

1.类方法也叫静态方法

2.访问修饰符+static+数据返回类型(){}

3.static+访问修饰符+数据返回类型(){}

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);

}

}

detail

1.静态方法只能访问静态成员,this/super都不允许在类方法使用

2.非静态方法,可以访问静态成员和非静态成员

3.都遵守访问权限


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:基于Java在netty中实现线程和CPU绑定(netty业务线程)
下一篇:Java实例讲解多态数组的使用(java静态数组与动态数组)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~