Java超详细讲解类变量和类方法

 更新时间:2022年05月19日 09:03:03   作者:Demo龙  
这篇文章主要介绍了JAVA类变量及类方法代码实例详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

1.static静态变量

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

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

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

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

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.都遵守访问权限

到此这篇关于Java超详细讲解类变量和类方法的文章就介绍到这了,更多相关Java变量与方法内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:

相关文章

  • Java获取文件路径常用方法解析

    Java获取文件路径常用方法解析

    这篇文章主要介绍了Java获取文件路径常用方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-09-09
  • SpringCloud超详细讲解负载均衡组件Ribbon源码

    SpringCloud超详细讲解负载均衡组件Ribbon源码

    在微服务中,对服务进行拆分之后,必然会带来微服务之间的通信需求,而每个微服务为了保证高可用性,又会去部署集群,那么面对一个集群微服务进行通信的时候,如何进行负载均衡也是必然需要考虑的问题
    2022-07-07
  • IDEA项目中配置Maven镜像源(下载源)的详细过程

    IDEA项目中配置Maven镜像源(下载源)的详细过程

    Maven是一个能使我们的java程序开发节省时间和精力,是开发变得相对简单,还能使开发规范化的工具,下面这篇文章主要给大家介绍了关于IDEA项目中配置Maven镜像源(下载源)的详细过程,需要的朋友可以参考下
    2024-02-02
  • 在spring-boot工程中添加spring mvc拦截器

    在spring-boot工程中添加spring mvc拦截器

    这篇文章主要介绍了在spring-boot工程中添加spring mvc拦截器,Spring MVC的拦截器(Interceptor)不是Filter,同样可以实现请求的预处理、后处理。,需要的朋友可以参考下
    2019-06-06
  • Spring之关于PropertyDescriptor的扩展剖析

    Spring之关于PropertyDescriptor的扩展剖析

    这篇文章主要介绍了Spring之关于PropertyDescriptor的扩展剖析,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-07-07
  • Java编程关于子类重写父类方法问题的理解

    Java编程关于子类重写父类方法问题的理解

    这篇文章主要介绍了Java编程关于子类重写父类方法问题的理解,分享了有关子类重写父类的实例,具有一定参考价值,需要的朋友可以了解下。
    2017-11-11
  • Java语法基础之函数的使用说明

    Java语法基础之函数的使用说明

    函数就是定义在类中的具有特定功能的一段独立小程序,函数也称为方法
    2013-07-07
  • springboot使用redis缓存乱码(key或者value乱码)的解决

    springboot使用redis缓存乱码(key或者value乱码)的解决

    在通过springboot缓存数据的时候,发现key是一堆很不友好的东西,本文主要介绍了springboot使用redis缓存乱码(key或者value乱码)的解决,感兴趣的可以了解一下
    2023-11-11
  • Nacos 版本不一致报错Request nacos server failed解决

    Nacos 版本不一致报错Request nacos server failed解决

    这篇文章主要为大家介绍了Nacos 版本不一致报错Request nacos server failed的解决方法,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-11-11
  • Javamelody监控不到sql的问题(亲测有效) ​

    Javamelody监控不到sql的问题(亲测有效) ​

    JavaMelody是用来在QA和实际运行生产环境中监控Java或Java EE应用程序服务器的一个开源框架,这篇文章主要介绍了Javamelody监控不到sql(亲测有效) ​,需要的朋友可以参考下
    2022-10-10

最新评论