首页
每日60s
项目
网盘
留言
友链
关于我
Search
1
Vue展示列表列表数据(案例一)
8 阅读
2
计算属性的getter和setter
4 阅读
3
雨天街拍
4 阅读
4
Vue.js知识量化
3 阅读
5
Go语言学习计划
3 阅读
笔记
Java
Python
Vue2
Uni-app
Go
生活
兴趣
摄影
摩托
历程
考证
工作经验
CDA人才认证
数据架构师
登录
/
注册
Search
标签搜索
go
后端
Java
编程语言
vue.js
笔记模板
CDA人才认证
数据分析师
笔记
main方法
课程笔记
编程
JiaJun
累计撰写
21
篇文章
累计收到
12
条评论
首页
栏目
笔记
Java
Python
Vue2
Uni-app
Go
生活
兴趣
摄影
摩托
历程
考证
工作经验
CDA人才认证
数据架构师
页面
每日60s
项目
网盘
留言
友链
关于我
搜索到
1
篇与
的结果
2023-10-10
Java——main方法的理解【课程笔记】
Java——main方法的理解【课程笔记】P382 深入理解main方法:解释mian方法的形式:public static void main(String[] args) {}main()方法是Java虚拟机调用的Java虚拟机需要调用main()方法,所以该方法的访问权限必须是publicJava虚拟机在执行main()方法时不必创建对象,所以该方法必须是static该该方法接受String类型的数组参数,该数组中保存执行Java命令时传递给所运行的类的参数Java执行的程序 参数1 参数2 参数3public class Main { public static void main(String[] args) { for (int i = 0;i<args.length;i++){ System.out.println("第"+(i+1)+"参数是:"+args[i]); } } }P383 理解main方法的语法在main()方法中,我们可以直接调用main方法所在类的静态方法或静态属性但是,不能直接去访问该类中的非静态成员,必须创建该类的一个实例对象后,才能通过这个对象去访问类中的非静态成员package com.main; public class Main01 { private static String name = "ljj"; private int n1 = 1000; public static void main(String[] args) { //可以直接使用name参数 //1. 静态方法main 可以访问本类的静态成员九 System.out.println(name); //2. 静态方法main 不可以访问本类的非静态成员 System.out.println(n1); //3. 静态方法main 要访问本类的非静态成员,需要创建对象 int n11 = new Main01().n1; } }P385 代码块初始块,属于类中的成员【是类的一部分】类似于方法,讲逻辑语句封装在方法中,通过{}包围起来,但是和方法不同,没有方法名,没有返回,没有参数,只有方法体,而且不用通过对象或类显式调用,而是类加载的时,或创建对象时隐式调用基本语法:[修饰符] { 代码体 }注意:修饰符可选,但是仅仅可选static代码块分为两类,使用static修饰的叫静态代码块,没有static修饰的,较普通代码块/非静态代码块逻辑语句可以为任意逻辑语句(输出,输入,方法调用,循环,判断等);号可以写,也可以省略应用场景:下面的三个构造器都有相同的语句;不使用代码块这样代码看起来比较冗余不管那个构造器先调用,都会先执行代码块的内容结论:代码块优先于构造器package codeblock; public class CodeBlock01 { public static void main(String[] args) { new Movie("铜锁"); } } class Movie{ public Movie(String name) { this.name = name; } private String name; private int price; private String director; { System.out.println("电影开始了。。。。"); System.out.println("广告还剩N秒......"); } public Movie(String name, int price, String director) { this.name = name; this.price = price; this.director = director; } }静态代码块1)static代码块也叫静态代码块,作用就是对类进行初始化,而且它随着类的加载而执行,并且只会执行一次。如果是普通代码块,每创建一个对象,就执行2)类什么时候被加载[重要!]创建对象实例时(new)创建子类对象实例,父类也会被加载使用类的静态成员时(静态属性,静态方法)案例演示: A类extends B类 的静态块3)普通的代码块,在创建对象实例时,会被隐式的调用被创建一次,就会调用一次。如果只是使用类的静态成员时,普通代码块并不会执行package codeblock; public class CodeBlockDetail01 { public static void main(String[] args) { // AA aa = new BB(); AA.Test(); } } class AA{ static { System.out.println("AA正在加载中...."); } //在创建对象时,被调用,创建一次调用一次 { System.out.println("AA 普通代码块"); } public static void Test(){ System.out.println("静态方法调用"); } } class BB extends AA{ static { System.out.println("BB正在加载中......"); } }小结:1.static代码块是类加载时,执行,只会执行一次2.普通代码块是在创建对象时调用的,创建一次,调用一次3.类加载的3种情况,需要记住4) 创建一个对象时,在一个类 调用顺序是:(重点,难点)调用静态代码块和静态属性初始化(注意: 静态代码块和静态属性初始化调用的优先级一样,如果有多个静态代码块和多个静态变量初始化,则按他们定义的顺序调用)调用普通代码块和普通属性的初始化(注意: 普通代码块和普通属性初始化调用的优先级一样,如果有多个普通代码块和多个普通属性初始化,则按定义顺序调用)调用构造方法
2023年10月10日
1 阅读
3 评论
-1 点赞