• 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);
        }
    }
    View Code

    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);
        }
    }
    View Code

    个人总结:

    即 静态变量/方法为类的成员和方法  不需要实例化 就可以通过 类名.成员/方法 调用

      实例成员变量/方法  必须通过类实例化产生的对象 通过  对象.成员/方法调用

     

    代码块

     静态代码块 代码

    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 = "黑马程序员";
        }
    
    
    }
    View Code

    构造代码块 代码

    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);
        }
    }
    View Code
  • 相关阅读:
    继承
    面向对象_封装练习
    ajax分页与组合查询配合使用
    Linq的分页与组合查询的配合使用
    发送邮件和数据导出
    GridView的使用
    母版页的使用
    DIV+CSS命名规范
    Ajax基础
    jQuery动画效果
  • 原文地址:https://www.cnblogs.com/lvlisn/p/16410036.html
Copyright © 2020-2023  润新知