首页 > 其他分享 >day02

day02

时间:2024-01-26 20:12:01浏览次数:26  
标签:day02 System static Student println public out

静态

  • 静态变量,也叫类变量,可以通过对象.静态变量 访问不推荐使用
public class Test01 {
    public static void main(String[] args) {
        //1.访问静态变量
        //类名.变量名
        Student.name = "张三";
        //2.访问实例变量
        //对象名.变量名
        Student s1 = new Student();
        s1.age = 20;
        //不推荐用 对象.静态变量 这种形式访问
        //System.out.println(s1.name + " " + s1.age);
        System.out.println(Student.name + " " + s1.age);
        Student s2 = new Student();
        System.out.println(s2.name);
    }
}

1.类方法:static修饰的方法,可以被类名调用,是因为它是随着类的加载而加载的;
所以类名直接就可以找到static修饰的方法

2.实例方法:非static修饰的方法,需要创建对象后才能调用,是因为实例方法中可能会访问实例变量,而实例变量需要创建对象后才存在。
所以实例方法,必须创建对象后才能调用。

public class Student {
    double score;
    //静态方法,也叫类方法,需要通过  类名.方法名  去调用
    public static void printHello(){
        System.out.println("Hello...");
        System.out.println("Hello...");
    }
    //成员方法,也叫实例方法,需要通过  对象.方法名  去调用
    public void say(){
        System.out.println("say" + score);
    }
    public void m1(){
        System.out.println("m1..........");
        this.say();
        say();   //省略了this而已
    }
}

3.工具类是static用得最频繁的场景

public class MyUtil {
    //不允许外部通过构造器造对象
    private MyUtil(){}
    //工具类方法  都是静态的
    public static String generateValidateCode(int length){
        String data = "0123456789";
        String code = "";
        Random r = new Random();
        for (int i = 0; i < length; i++) {
            //每次获取一个随机下标对应的数字
            int index = r.nextInt(data.length());
            char c = data.charAt(index);
            code += c;
        }
        return code;
    }
}
  1. 静态代码块,随着类的加载而执行,而且只执行一次,在静态属性之后执行
  2. 实例代码块每次创建对象之前都会执行一次
public class Student {
    static String name = "张三";
    static String school = "家里蹲";
    static {
        //在静态属性之后执行
        System.out.println("静态代码块执行了~~~~");
        school = "家里蹲";
    }
}

public class Test06 {
    public static void main(String[] args) {
        System.out.println(Student.name);
        System.out.println(Student.school);
        Student s1 = new Student();
        Student s2 = new Student();
        Student s3 = new Student();
    }
}

控制台输入的内容为:

标签:day02,System,static,Student,println,public,out
From: https://www.cnblogs.com/hmxjc/p/17990594

相关文章

  • MetaGPT day02: MetaGPT Role源码分析
    MetaGPT源码分析思维导图MetaGPT版本为v0.4.0,如下是frommetagpt.rolesimportRole,Role类执行Role.run时的思维导图:概述其中最重要的部分是_react,里面包含了一个循环,在循环中交替执行_think和_act,也就是让llm先思考再行动。_think中决定了llm下一个执行的动作是什么,这个动作......
  • 学习JavaDay02
    常用的DOS命令盘符切换E:英文冒号查看当前目录下的所有文件dir切换目录cdchangedirectorycd..清理屏幕cls查看电脑IPipconfig打开应用calcmspaintnotepad文件操作md目录名rd目录名cd>文件名del文件名HelloWorld新建文件夹,存放代码新建一个Java文件......
  • 黑马程序员《苍穹外卖》项目Day02-02-新增员工_代码开发
    问题:使用注解@Insert插入数据到sql中时无法正确识别sql表办法:1、先在idea添加数据库,导入驱动(具体可搜索ideaMysql驱动安装导入)2、安装好数据库及驱动之后,如图,勾选需要的架构。可以查看到对应的表即为导入成功3、最后在Insert位置添加对应表即可。具体操作为光标放在标红的表......
  • day02 代码随想录算法训练营 977. 有序数组的平方
    题目:977. 有序数组的平方我的感悟:这道题,仔细观察,平方后两头的大。用双指针,取两头,放到新的数组里。新数组要求排序所以,新的数组从后往前放理解难点:无他,多练习。代码难点:无总结概括:双指针代码示例:classSolution:defsortedSquares(self,nums:List[in......
  • day02-MySQL
    数据库-MySQL1.数据库基础操作mysql-u用户名-p密码[-h数据库服务器的IP地址-P端口号]-h参数不加,默认连接的是本地127.0.0.1的MySQL服务器,-P参数不加,默认连接的端口号是3306eg.mysql-uroot-p1234查询所有数据库showdatabases;创建数据库created......
  • Day02标识符
    标识符注意点1.所有的标识符都以字母(A-Z或者a-z),美元符($)、或者下划线(_)开始2.首字符之后可以是字母(A-Z或者a-z),美元符($)、下划线(_)或数字的任何字符组合3.不能使用关键字作为变量名或方法名。4.标识符是大小写敏感的5.合法标识符举例:age、$salary、_value.、_1_val......
  • Day02创建HelloWorld
    HelloWorld1.新建一个文件来,存放代码2.新建一个java文件文件后名为.javaHello.java【注意点】系统可能没有显示文件后缀名,我们需要手动打开3.編写代码publicclassHello{ publicstaticvoidmain(String[]args){ System.out.print("Hello,World!"); }}4.......
  • Day02
    Day02Windows常用快捷键复制:Ctrl+C粘贴:Ctrl+V全选:Ctrl+A剪切:Ctrl+X撤销:Ctrl+Z保存:Ctrl+S关闭窗口:Alt+F4永久删除:Shift+Delete回到桌面:Win+D打开运行:Win+R打开我的电脑:Win+E任务管理器:Ctrl+Shift+Esc切换应用程序:Win+TabDos命令打开CMD的方式命令提示符Win+R输......
  • day02
    快捷键ctrl+c复制ctrl+v粘贴alt+f4关闭窗口ctrl+shift更换输入法alt+tabwindows+tab打开小窗口ctrl+a全选ctrl+x剪切ctrl+z撤销ctrl+s保存shift+delete永久删除windous+e我的电脑ctrl+shift+esc任务管理器 功能键tab键切换菜单shift组合键ctrl......
  • Day02 Windows快捷命令
    常见的Terminal命令:#盘符切换:直接输入盘符,不区分大小写 直接输入E:等 #查看当前目录下的所有文件:dir#切换目录:cdnewdirectory 只返回目标路径但不会跳转 cd\dnewdirectory 跨盘符切换的话要加\d参数后才会切换到目标路径, Linux用cd[路......