public static void main(String[] args) {}
但后来接触导了构造方法、静态方法、非静态方法,于是麻烦就蜂拥而至,写这篇文章也是为了帮助个位兄弟更好理解每个方法的格式以及用法, 帮助我们更好的学习
首先我们先说一下,我们一开始学习Java时,创造的普通方法:
public class TestA {
//成员变量
String name;
String sex;
int age;
//成员方法
public void eat(){
System.out.println(name+“这是吃饭的成员变量”);
}
}
在我们刚接触Java的时候,除了main方法,我们创建的变量和方法大都是这个格式,我们开始接触变量的时候,我们就可以知道,变量一共有两种,一种是成员变量,一种是局部变量,也有人把成员变量说成全局变量的,这个说法是错的,记好,只有成员、局部两种;
因为我们写的时候直接写String name,其实它完整的样子应该是:public String name,只不过我们没有写的话,系统会默认属于public;
像这种格式的话,属于成员变量和成员方法,在本类里面,是通用的。
再来看方法public void eat,成员方法,使用public进行修饰,void这个属于空值,有一定Java基础的同学应该知道,方法分有无返回值的,有void就代表这个方法无需返回值,如果有返回值,我们把void去掉,写public 当前返回值的类型 方法名(){}就可以了;
由此可知,我们一开始刚接触Java的时候,所创造的Java方法,大都是成员方法;
再到之后,我们开始接触私有变量,目的也是为了我们整体程序的安全性,把变量设置为私有的,比如:
public class TestA {
//成员变量
private String name;
private String sex;
private int age;
//成员方法
public void eat(){
System.out.println(name+“这是吃饭的成员变量”);
}
}
这里之前默认的public变成了private,这个单词中文就代表了私有的,那用这个修饰的变量,也代表是私有属性,那属性私有的话,我们就不能用之前new那种方法调用,调用不到,会报错:
之前是公共的属性,我们直接可以通过new这种方式直接调用,但是通过这种方法,我们无法调用其他类的私有属性,这个时候,我们就要使用了另一种方法,叫做构造器/构造方法/构造子,这是三个名字,其实是一样的东西,只是叫法不一样,知道一下就可以了
上面这张图,就是构造方法,大家可以看到,它既没有void修饰,也没有返回值类型修饰,那是因为,我们平时写普通方法时,写void或者返回值类型,就是想告诉系统,我们这个方法有没有返回值;
但是我们的构造方法种,Java规定的就是没有返回值,系统他已经知道了,所以我们就不用反馈系统这个构造方法它到底有没有返回值;
所以我们直接使用public 方法名(){}即可,其中有参和无参,这个根据需要来选择即可,但一般的类中,都会有一个无参构造和一个有参构造,这个你们后面学习就知道了,this就是帮助你后面掺入的参数及时的传送到成员变量里面而已:当然你们如果看不懂this,也可以这样理解:
这个的话,意思也很明显,后面我们会通过传参的方式,分别掺入abc,然后我们在这里引入上面的成员变量赋值,这样看起来很乱,并且不好区分,因为,我们就是要从后台输入name–》成员变量的name,这里又用a这个变量从中间转一下,这样很麻烦,我们使用this,一方面它可以自动生成,另一方面它看起来比较好;
但是同时也要注意,方法名必须与类名一模一样,严格区分大小写;
最后说一下静态方法,静态方法与一个单词有关“static”;我们对这个单词并不陌生,比如我们的main方法:public static void main(String[] args),被static方法装饰的就是静态方法,同时被static修饰的变量叫静态变量,同时也叫类变量,因为他修饰的变量或者方法,属于全类通用的;
在被static修饰的方法叫做静态方法,被他修饰的类或者方法,我们都可以在其他地方,使用类名.方法/属性名调用:
上面我们已经用static进行修饰了,下面看一下如果调用:
public class TestB1 {
public static void main(String[] args) {
TestB testB1 = new TestB();
TestB.name=“张三”;
TestB.a(12);