当前位置: 首页 > news >正文

调用静态方法

public class StaticTest2 {

    public static void main(String[] args){
        Chinese c1 = new Chinese("张三"); // 创建对象
        Chinese c2 = new Chinese("李四");
        // 调用静态方法 对象调用静态方法 可以 但不推荐
        System.out.println("姓名是:"+c1.getName() + ";国家是:"+ c1.getCountry());
        System.out.println("姓名是:"+c2.getName() + ";国家是:"+ c2.getCountry());

        c1.setCountry("中国"); // c1的静态变量修改 不属于某一个具体的对象
        // c1的国家 修改了 会影响c2; 因为c1修改的是 静态变量 属于类的
        // 因为c1和c2公共静态变量、类变量 指向的是同一个地址
        System.out.println("姓名是:"+c1.getName() + ";国家是:"+ c1.getCountry());
        System.out.println("姓名是:"+c2.getName() + ";国家是:"+ c2.getCountry());

        Chinese.setCountry("china"); // 推荐使用类调用 静态方法
        System.out.println("姓名是:"+c1.getName() + ";国家是:"+ c1.getCountry());
        System.out.println("姓名是:"+c2.getName() + ";国家是:"+ c2.getCountry());
    }
}
class Chinese{
    private static String country = "中华人民共和国"; // 静态变量 类变量
    private String name;

    public Chinese(String name){ // 构造方法
        // this是对象 谁调用我 谁就是this
        super();
        this.name = name;
    }
    public static void setCountry(String country) {
        // 类.静态变量 = 局部变量; 这样就可以把两者区分开
        Chinese.country = country;
    }

    public static String getCountry() {
        return country;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getName() {
        return name;
    }

相关文章:

  • Vue的生命周期详解
  • 机器人控制算法九之机器人建模(XML)、工作场景Scances建模(VRML)
  • 【Unity3D日常开发】Unity3D中打包WEBGL后读取本地文件数据
  • 【SDS V6 专题】开放内容平台,XOCP 助力数据常青
  • 鲜花绿植学生网页设计模板 静态HTML鲜花学生网页作业成品 DIV CSS网上鲜花植物主题静态网页
  • 国庆在家没事干?教大家用Python做一个任何视频都能看的软件, 当然,只能看正经的
  • NumPy数据分析基础:NumPy特性以及Python内置数据结构对比详解
  • (附源码)ssm学生管理系统 毕业设计 141543
  • Java8的新特性
  • Oracle-RAC集群不同节点数据查询不一致
  • 【017】基于vue.js的网易云web端(实现播放、登录)(Node接口实现)
  • 界面控件DevExpress WPF即将发布Windows 11深色主题,期待吗?
  • 【JAVA程序设计】基于SSM(非maven)图书馆座位预约管理系统
  • 基于多尺度卷积神经网络特征融合的植株叶片检测技术
  • 我的大学期末网页作业 仿学校网站制作实现 HTML+CSS西北大学新闻网带psd带js
  • 03Go 类型总结
  • 2017-09-12 前端日报
  • CSS中外联样式表代表的含义
  • ES学习笔记(12)--Symbol
  • Idea+maven+scala构建包并在spark on yarn 运行
  • Java知识点总结(JavaIO-打印流)
  • Laravel Telescope:优雅的应用调试工具
  • Redis的resp协议
  • redis学习笔记(三):列表、集合、有序集合
  • 得到一个数组中任意X个元素的所有组合 即C(n,m)
  • 对话:中国为什么有前途/ 写给中国的经济学
  • 给github项目添加CI badge
  • 爬虫模拟登陆 SegmentFault
  • 使用 5W1H 写出高可读的 Git Commit Message
  • 微服务核心架构梳理
  • 400多位云计算专家和开发者,加入了同一个组织 ...
  • !!Dom4j 学习笔记
  • # 20155222 2016-2017-2 《Java程序设计》第5周学习总结
  • #stm32整理(一)flash读写
  • #我与Java虚拟机的故事#连载07:我放弃了对JVM的进一步学习
  • (a /b)*c的值
  • (C++17) optional的使用
  • (附源码)springboot青少年公共卫生教育平台 毕业设计 643214
  • (收藏)Git和Repo扫盲——如何取得Android源代码
  • (学习日记)2024.04.04:UCOSIII第三十二节:计数信号量实验
  • (循环依赖问题)学习spring的第九天
  • (原創) 未来三学期想要修的课 (日記)
  • (转载)跟我一起学习VIM - The Life Changing Editor
  • ***通过什么方式***网吧
  • *++p:p先自+,然后*p,最终为3 ++*p:先*p,即arr[0]=1,然后再++,最终为2 *p++:值为arr[0],即1,该语句执行完毕后,p指向arr[1]
  • .bat批处理(十一):替换字符串中包含百分号%的子串
  • .net core 依赖注入的基本用发
  • .NET gRPC 和RESTful简单对比
  • .NET/C# 使用反射调用含 ref 或 out 参数的方法
  • .NET是什么
  • .net中调用windows performance记录性能信息
  • .pyc文件是什么?
  • /usr/lib/mysql/plugin权限_给数据库增加密码策略遇到的权限问题
  • :O)修改linux硬件时间
  • @html.ActionLink的几种参数格式