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

作者:Demo龙 时间:2023-04-24 14:45:43 

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

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.访问修饰符+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);
   }
}

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

detail

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

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

3.都遵守访问权限

来源:https://zal321.blog.csdn.net/article/details/124799200

标签:Java,类变量,类方法
0
投稿

猜你喜欢

  • C#实现微信跳一跳小游戏的自动跳跃助手开发实战

    2022-12-11 02:49:08
  • SpringBoot使用validation做参数校验说明

    2022-04-24 09:18:03
  • Java中一个线程执行死循环有什么后果

    2022-05-24 00:28:35
  • Android Q适配之IMEI替换为Android_id

    2022-08-08 00:46:01
  • Spring框架学习常用注解汇总

    2023-11-10 17:38:53
  • Spring MVC全局异常实例详解

    2021-11-19 13:51:26
  • Java实现五子棋游戏的完整代码

    2022-07-01 15:32:34
  • 如何正确使用Android线程详解

    2021-12-06 19:24:30
  • 开源一个c# 新的雪花算法

    2022-01-20 16:08:56
  • c# rsa加密解密详解

    2023-06-11 00:54:17
  • java方法重写实例分析

    2022-01-10 02:51:14
  • 关于WPF异步MVVM等待窗体的介绍

    2022-08-03 00:54:19
  • Android Studio中Logcat写入和查看日志

    2021-08-05 12:37:18
  • 基于WPF实现带明细的环形图表

    2021-12-01 03:58:11
  • C#画笔使用复合数组绘制单个矩形的方法

    2022-03-20 01:41:09
  • c# 通过WinAPI播放PCM声音

    2021-10-22 12:35:18
  • Java8新特性之默认方法(default)浅析

    2023-10-03 10:41:13
  • c++函数指针使用示例分享

    2022-01-20 17:48:26
  • C#执行SQL事务用法实例

    2021-11-23 23:32:27
  • Android图文居中显示控件使用方法详解

    2023-04-04 14:07:24
  • asp之家 软件编程 m.aspxhome.com