今天学到了什么?首先我们已经知道执行Java程序时会先编译后运行。而在运行过程中,大部分时候都需要通过方法来对对象进行操作(方法也就是对象,学过c,c++的更能简单理解)。Java中方法有三种:一种是静态方法(也就是静态函数),用static声明,只能访问静态成员,不能访问与操作非静态定义的变量。而且访问静态方法有两种方式,一种是通过实例化的对象,而另一种则是直接通过类名访问。而且静态方法只创建一次并且被该类所有实例共享,因此该一发而动全身(我想这就是为什么静态方法也可以称作类方法的原因)。;第二种是实例方法也就是普通方法,方法名即与类名不同也不带static关键字,既可以访问静态变量也可以访问非静态变量。;第三种也就是构造方法,此方法名与类名相同(这也就是为什么普通方法必须与类名不同),并且构造方法无返回值(因此void也不需要)。而且构造方法重要作用便是创建一个对象如 public class A{ public A(){};public static void main(String []args) {A a=new A();}},但是我们可以看到许多程序中并没有构造方法,这是因为会自动创建一个无参的构造方法。但是构造方法也可以有参构造如
public class A {
public A(int b){
System.out.println(b);
}
public static void main(String []args) {
A a=new A(2);
}
}
便会自动输出b=2,有参的构造方法主要用来初始化类中的一些变量。在这其中实例方法最重要,我们在往后要编写许多程序,大部分都是实例方法(形式是(方法名(参数列表)))。了解了方法之后便要学习更重要的一点修饰符(public,private,protected)。编写第一个helloworld程序的时候,便看见class前面有一个public,而且主方法前也有public,修饰符最重要的作用便是约束对象可以访问的范围,如下表:
(缺省就是不带修饰符)
学习了方法之后,许多方法是带有返回值的,主要分为三种void空类型,数据类型(int,double.....),以及类类型(构造函数),而且许多方法是带有参数的。方法带有final关键字时表明不能被重载,也不能覆盖。顺便了解一下重载的概念。重载是很重要的一个内容,我们主要说明关于方法的重载,运算符的重载还没学。
public int add(int a,int b){return a+b;}
public double add(double a,double b){return a+b;}以上便形成方法重载,重载的条件是方法名相同,但参数类型,及参数个数不同的情况下会形成重载。我们知道对象可以调用方法,而方法直接也可以相互调用。本类:静态方法可以直接调用静态方法;静态方法通过本类对象调用非静态方法;非静态方法直接调用非静态方法。不同类:静态方法通过类名.方法名调用其它类的静态方法;静态方法调用非静态方法需要引入含有该类的包。;非静态方法调用其他类的静态方法或非静态方法需要引入该类的包,并通过类名.成员名调用。
完成第四章的一二题。
明天计划学习完第四章。
原文:https://www.cnblogs.com/zhanghua-lijie/p/13281455.html