首页 > 编程语言 >Java static(1)

Java static(1)

时间:2024-03-30 09:04:34浏览次数:22  
标签:Java Student1 System student1 实例 static public

类变量

与类一起加载一次, 在内存中保留一份,可以被类和所有的对象共享。

实例变量

实例变量属于对象, 每个对象都有一份,只能被对象访问。

public class TestStatic {
    public static void main(String[] args) {

        Student1.name = "张三";
        Student1 student1 = new Student1();
        student1.name = "李四";
        student1.age = 11;
        System.out.println(Student1.name);
    }
}
class  Student1 {
    //类变量
    static  String name;
    //实例变量
    public int age;
}

类方法

有static修饰的方法,属于类

成员方法

无static 修饰的方法,属于对象

public class TestStatic {
    public static void main(String[] args) {

        Student1.name = "张三";
        Student1 student1 = new Student1();
        student1.name = "李四";
        student1.age = 11;
        System.out.println(Student1.name);
        Student1.printHello();

        //不推荐该用法
        student1.printHello();

        // 实例方法
        student1.printAge();

    }
}
class  Student1 {
    //类变量
    static  String name;
    //实例变量
    public int age;

    public static void printHello() {
        System.out.println("hello ");
    }

    public void printAge() {
        System.out.println(age >= 18 ?"成年":"未成年");
    }
}

注意事项

类方法中可以访问类的成员,不可以访问实例成员;

实例方法中可以访问类的成员, 也可以访问实例成员;

实例访问中可以使用this关键字,类方法中不可以使用this关键字;

静态代码块

类加载时自动执行, 由于类只加载一次,所以静态代码块也加载一次。

作用是完成类的初始化,比如对类的成员初始化赋值。

实例代码块

每次创建对象时候,执行实例代码块,并在构造器前执行。

作用是和构造器一样,对实例成员的初始化,比如对实例成员初始化赋值。

public class TestStatic {
    public static void main(String[] args) {

        Student1.name = "张三";
        Student1 student1 = new Student1();
        student1.name = "李四";
        student1.age = 11;
        System.out.println(Student1.name);
        Student1.printHello();

        //不推荐该用法
        student1.printHello();

        // 实例方法
        student1.printAge();

        //  测试静态代码初始化类变量
        System.out.println(Student1.school);

    }
}
class  Student1 {
    static {
        System.out.println("静态代码块执行了");
        school = "xx大学";
    }
    {
        //实例代码块
        System.out.println("实例代码块执行了");
        // 实际上这样使用较少
        //age = 100;
        System.out.println("有人创建了实例" + this);
    }
    //类变量
    static  String name;
    //实例变量
    public int age;

    static String school;

    public Student1() {
        System.out.println("无参构造器执行了");
    }

    public Student1(int age) {
        System.out.println("有参构造器执行了");
        age = 120;
    }

    public static void printHello() {
        System.out.println("hello ");
    }

    public void printAge() {
        System.out.println(age >= 18 ?"成年":"未成年");
    }
}

标签:Java,Student1,System,student1,实例,static,public
From: https://blog.csdn.net/m0_64134481/article/details/137144935

相关文章

  • java Web洗衣店管理系统用eclipse定制开发mysql数据库BS模式java编程jdbc
    一、源码特点   JSP洗衣店管理系统是一套完善的web设计系统,对理解JSPjava编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为TOMCAT7.0,eclipse开发,数据库为Mysql5.0,使用java语言开发。javaWeb洗衣店管理系统二、功能介绍(......
  • java Web 疫苗预约管理系统用eclipse定制开发mysql数据库BS模式java编程jdbc
    一、源码特点   JSP疫苗预约管理系统是一套完善的web设计系统,对理解JSPjava编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为TOMCAT7.0,eclipse开发,数据库为Mysql5.0,使用java语言开发。javaWeb疫苗预约管理系统二、功能介......
  • [附源码]JAVA计算机毕业设计大学生心灵氧吧(源码+开题)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着社会的快速发展,大学生面临着日益严峻的学习、就业和人际关系等多重压力。这些压力往往导致大学生出现焦虑、抑郁等心理问题,严重影响其身心健康和......
  • [附源码]JAVA计算机毕业设计大学生就业管理系统(源码+开题)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景在当今社会,大学生就业问题一直是社会关注的焦点。随着高校扩招政策的实施,每年毕业的大学生数量逐年攀升,而就业市场的竞争也愈发激烈。传统的就业管理......
  • 【Java系列】 Web开发 | 基于jQuery的Ajax应用
    原创:清华计算机学堂基于jQuery的Ajax应用01、jQuery简介jQuery是一个免费、开源、兼容多浏览器的JavaScript库,其核心理念是:writeless,domore(写得更少,做得更多)。jQuery于2006年1月由美国人JohnResig在纽约的barcamp发布,吸引了来自世界各地的众多JavaScript高手加入,由DaveMe......
  • Springboot+vue的高校科研信息管理系统(有报告)。Javaee项目,springboot vue前后端分离项
    演示视频:Springboot+vue的高校科研信息管理系统(有报告)。Javaee项目,springbootvue前后端分离项目。项目介绍:采用M(model)V(view)C(controller)三层体系结构,通过Spring+SpringBoot+Mybatis+Vue+Maven来实现。MySQL数据库作为系统数据储存平台,实现了基于B/S结构的Web系......
  • 基于Springboot的研究生调研管理系统(有报告)。Javaee项目,springboot项目。
    演示视频:基于Springboot的研究生调研管理系统(有报告)。Javaee项目,springboot项目。项目介绍:采用M(model)V(view)C(controller)三层体系结构,通过Spring+SpringBoot+Mybatis+Vue+Maven+Layui+Elementui来实现。MySQL数据库作为系统数据储存平台,实现了基于B/S结构的Web系......
  • springboot/ssm宠物猫认养系统Java宠物用品商城领养系统web
    springboot/ssm宠物猫认养系统Java宠物用品商城领养系统web基于springboot(可改ssm)+vue项目开发语言:Java框架:springboot/可改ssm+vueJDK版本:JDK1.8(或11)服务器:tomcat数据库:mysql5.7(或8.0)数据库工具:Navicat/sqlyog开发软件:eclipse//idea依赖管理包:Maven如需了......
  • 客快物流大数据项目(四十二):Java代码操作Kudu
    Java代码操作Kudu一、构建maven工程二、导入依赖三、​​​​​​​创建包结构四、​​​​​​​初始化方法五、​​​​​​​创建表六、​​​​​​​插入数据七、​​​​​​​查询数据八、修改数据九、​​​​​​​删除数据十、​​​​​​​修改表十一、​......
  • Java 实现缓存的三种方式
    Java实现缓存的三种方式文章目录Java实现缓存的三种方式一、`HashMap`实现缓存`Step-1`:实现一个缓存管理类`Step-2`:将缓存管理类交给`Spring`进行管理`Step-3`:编写接口测试缓存`Step-4`:结果展示二、`guavalocalcache`实现`Step-1`:导入`guava`依赖`Step-2`:使用`......