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变量与方法内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:

相关文章

  • 浅谈MyBatis执行SQL的两种方式

    浅谈MyBatis执行SQL的两种方式

    本文介绍MyBatis执行SQL语句的2种方式,主要是SqlSession和Mapper接口以及它们的区别,具有一定的参考价值,感兴趣的可以了解一下
    2021-08-08
  • Java 基于Spire.Cloud.SDK for Java在PDF中绘制形状

    Java 基于Spire.Cloud.SDK for Java在PDF中绘制形状

    这篇文章主要介绍了Java 基于Spire.Cloud.SDK for Java在PDF中绘制形状,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • idea配置gradle全过程

    idea配置gradle全过程

    安装Gradle首先需要解压安装包到指定目录,随后配置环境变量GRDLE_HOME和GRADLE_USER_HOME,这里的GRADLE_USER_HOME是指文件下载的路径,安装后,通过命令行输入gradle -v来测试是否安装成功,对于Idea的配置,需要通过File->Setting->Gradle进行
    2024-10-10
  • 使用Mybatis遇到的坑之Integer类型参数的解读

    使用Mybatis遇到的坑之Integer类型参数的解读

    这篇文章主要介绍了使用Mybatis遇到的坑之Integer类型参数的解读,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-03-03
  • 详解如何在Spring Security中自定义权限表达式

    详解如何在Spring Security中自定义权限表达式

    这篇文章主要和大家详细介绍一下如何在Spring Security中自定义权限表达式,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2022-07-07
  • Java编程实现判断网上邻居文件是否存在的方法

    Java编程实现判断网上邻居文件是否存在的方法

    这篇文章主要介绍了Java编程实现判断网上邻居文件是否存在的方法,涉及Java针对路径转换及字符串操作的相关技巧,需要的朋友可以参考下
    2015-10-10
  • Nacos通过RefreshScope实现配置自动更新的方式分享

    Nacos通过RefreshScope实现配置自动更新的方式分享

    这篇文章主要给大家介绍了Nacos如何通过RefreshScope实现配置自动更新,文中给了两种实现方式供大家参考,对大家的学习或工作有一定的帮助,需要的朋友可以参考下
    2023-09-09
  • dubbo集成zipkin获取Traceid的实现

    dubbo集成zipkin获取Traceid的实现

    这篇文章主要介绍了dubbo集成zipkin获取Traceid的实现方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-07-07
  • Java基础篇之分布式版本控制工具Git

    Java基础篇之分布式版本控制工具Git

    Git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。 也是Linus Torvalds为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件
    2021-10-10
  • Springmvc国际化自动配置代码实现

    Springmvc国际化自动配置代码实现

    这篇文章主要介绍了Springmvc国际化自动配置代码实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-04-04

最新评论