Java 22 入门 面向对象进阶 static 关键字 静态成员属性 实例成员变量 静态成员方法 实例成员方法 代码块

静态成员变量 与实例成员变量

package com.ITheima; public class User { // 在线人数信息,静态成员变量 public static int onLineNumber; //实例成员变量 private String name; private int age; public static void main(String[] args) { //1 类名.静态成员变量 User.onLineNumber++; //注意 :同一个类中访问静态成员变量,类名可以不写 System.out.println(onLineNumber); //2对象 实例成员变量 User u1=new User(); u1.name="张飞"; u1.age=17; System.out.println(u1.name); System.out.println(u1.age); //静态成员变量(不推荐这样访问) u1.onLineNumber++; System.out.println(onLineNumber); } }

package com.ITheima; public class Student { private String name; private int age; /** * 实例方法 :无static修饰 属于对象,通常表示对象直接的行为,可以访问对象的成员变量 */ public void study(){ System.out.println(name+"在好好学习天天向上"); } /** * 静态方法: 有static修饰,可以呗类和对象共享访问 */ public static void getMax(int a,int b){ System.out.println(a>b?a:b); } public static void main(String[] args) { //1 类名.静态方法 Student.getMax(100,20); //注意 在同一个类中访问静态方法 类名可以省略不写 getMax(20,50); //2 对象.实例方法 Student s=new Student(); s.name="张全蛋"; s.study(); //3 对象.静态方法(不推荐) s.getMax(399,11); } }
个人总结:
即 静态变量/方法为类的成员和方法 不需要实例化 就可以通过 类名.成员/方法 调用
实例成员变量/方法 必须通过类实例化产生的对象 通过 对象.成员/方法调用
代码块
静态代码块 代码

package com.ITheima._static_codeblock; public class TestDemo { //类的静态成员变量 public static String schoolName; //静态方法 public static void main(String[] args) { //目标: 学习静态代码块的特点,基本作用 System.out.println("===========main方法被执行输出=========");//2 System.out.println(schoolName);//黑马程序员 } /** *静态代码块随类加载 自动触发一次(优先执行) * 作用:可以在程序加载时进行静态数据的初始化操作(准备内容); * */ static { System.out.println("静态代码块执行1");//1 schoolName = "黑马程序员"; } }
构造代码块 代码

package com.ITheima._static_codeblock; public class TestDemo1 { //实例成员变量 private String name; private int age; //无参构造器执行 /** * 构造代码块 优先构造器执行 * 与对象一起加载 ,自动触发 */ { System.out.println("==构造代码块被触发执行一次=="); name="王二麻子"; } public TestDemo1(){ System.out.println("===构造器被触发执行==="); } public static void main(String[] args) { //目标:学习构造代码块的特点,基本作用 //实例化对象 TestDemo1 s=new TestDemo1(); System.out.println(s.name); TestDemo1 s1=new TestDemo1(); System.out.println(s1.name); } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· winform 绘制太阳,地球,月球 运作规律
· 上周热点回顾(3.3-3.9)