方法调用分类:
// 静态方法 static
调用 : 类名.方法名();
// 非静态方法 没有static
调用 :需要先将这个类实例化(new关键字)----实例化格式:对象类型 对象名 = 对象值;(例Student s=new Student())
调用方法:对象名.方法();
值传递(在Java中表现最多)
public class Demo1 {
public static void main(String[] args) {
int b =20;
change(b);// 实参 实际上的参数
System.out.println(b);
}
public static void change(int a){
//形参 形式上的参数
a=100;
}
}
值传递中形式参数的改变不影响实际参数,例如上面代码中由于方法中并没有返回值,形式参数被赋值100,然后又回到主方法,b还为20
(可用断点方式查看流程)
引用传递(最重要的还是理解内存和对象)
传递一个对象,本质还是值传递
类的补充(实例化)
**类的补充:一个项目应该只存一个main方法
类:抽象的,需要被实例化
类实例化后会返回一个自己的对象!
student对象就是一个Student类的一个具体实例
Student s=new Student;
Student s1=new Student;
题外话:学程序好?能更好的对世界进行建模
面向对象的本质:
以类的方式组织代码,以对象的组织(封装)数据
构造器(快捷键alt+insert–dele右侧键)自动生成构造器(可选无参构造器/加参构造器)
也叫构造方法
1.和类名相同
2.没有返回值
作用:1.使用new关键字,本质是在调用构造器
2.用来初始化值
注意点:定义有参构造之后,如果想要使用无参构造,还需要的定义一个无参的构造