1.注释
在JAVA中 //这种注释属于单行注释,只注释两个斜杠后面的内容。
/*
这个属于
多行注释
*/
/**
* javadoc注释:这里的注释信息可以自动被javadoc.exe命令解析提取并生成到帮助文档当中
*/
2.代码规范
以
public class Test{ public static void main(string[] args){ system.out.println("Test1"); system.out.println("Test2"); } }
为例
(1)在JAVA中任何有效的代码都必须写到“类体”中,最外层必须是一个类的的定义。
(2)public表示公开的,class表示一个类,Test是一个类名。类名后面必须是一对大括号,这一对大括号被称为“类体”,大括号必须是成对的。并且建议都要成对进行编写,这样才不会丢掉。() {} []
(3) 代码缩进,建议低一级的加tab,使得代码整齐,可读性更强。
(4)
public static void main(string[] args){ system.out.println("Test1"); system.out.println("Test2"); }
整个这一块的代码被叫做main方法(程序的入口,sun公司java语言规定的),JVM在执行程序的时候,会主要去找这样的一个方法。没有这个规格的方法,程序是无法执行的。
main方法也可以叫做主方法,注意:方法必须放到“类体”中,不能放到“类体”以外。
system.out.println("Test1");
system.out.println("Test2");
这样的内容被称为方法体,方法体由一条一条的java语句构成,并且非常重要的是:任何一条java语句必须以";"进行结尾。这个分号是英文的,";"代表一条语句的结束,方法体的内容按自上而下的顺序依次执行。
(5)在源文件中只要有一个class类的定义,那么必然会对应生成一个class文件,public的类可以没有,但如果有的话,public修饰的类名必须与源文件名保持一致。public的类,有且仅能有一个。
3.成员变量和局部变量
这个问题其实非常简单,大致可以概括以下几点主要区别:
- 成员变量是类里面定义的变量,是属于类的;而局部变量是在方法里面定义的,是属于一个方法的;
- public、protected、private这些访问控制修饰符和static只能修饰成员变量,final既可以修饰成员变量也可以修饰局部变量,但是当一个成员变量被final修饰但是没被static修饰的时候是必须显性的赋值的;
- 成员变量如果没被赋值的话是会自动按照类型的默认值赋值,但是局部变量是不会自动赋值的;
- 内存方面,成员变量是属于对象的,对象是在堆里面的,所以成员变量属于堆内存;局部变量随方法的调用而产生的,存储在栈内存里面;
- 生命周期方面,成员变量随着对象创建而创建,随着对象销毁而销毁的;局部变量随方法调用而创建,调用结束而销毁;
作者:Code小天涯
链接:https://www.zhihu.com/question/303980539/answer/1069283340
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
(1)方法修饰列表
是可选项,方法的修饰符可以包括: public,protected,private,abstract,static, final,synchronized,其中 public,protected,private 不能同时存在
(2)返回值类型 如果没有返回值使用 void 关键字,如果存在返回值可以是基本类型和引用类型, 如果存在返回值,使用 return 语句。Return 语句后面不能再执行语句,因为不可能会执行到,编译器会发生错误。
(3)方法名 任意合法的标识符
(4)方法参数列表 参数列表可以多个,如:method1(int a, int b),多个采用逗号分割
Q:在方法调用的时候,什么时候“类名.”是可以省略的。什么时候不能省略?
A:a()方法调用b()方法的时候,a和b都在同一个类中,"类名.“可以省略。如果不在同一个类中,”“类名.”不能省略。
6.JVM的内存结构
https://blog.csdn.net/rongtaoup/article/details/89142396
7.方法重载
如果不使用方法重载,有什么缺点?
缺点主要有两点:1.代码不美观
2.程序员需要记忆更多的方法名,程序员更累
而使用方法重载即可解决以上两个问题:
优点1:代码整齐美观
优点2:“功能类似”,可以让“方法名相同”,更易于之后的代码编写。
在JAVA语言中,是怎么进行方法区分的呢?
首先在JAVA编译中会根据方法名进行区分,而且JAVA语言允许方法名相同的情况存在。如果方法名相同的情况下,编译器会通过方法的参数类型进行方法的区分。
Q:什么时候使用方法重载
A:在同一个类中,如果“功能1”和“功能2”的它们的功能是类似的,那么可以考虑它们的方法名一致,这样代码既美观,又便于后期的代码编写。
但是方法重载不能随便使用,如果两个功能完全不相关,使用重载机制的话会导致编码更加麻烦,无法进行功能的区分。
Q:什么时候会发生方法重载
条件1:在同一个类中
条件2:方法名相同
条件3:参数列表不同
只要同时满足以上三个条件,我们就可以认定方法和方法之间发生了重载机制。