2020年2月23日20:33:09
来自一名大二的初学者
方法:是一段用来完成特定功能的代码片段,类似于C语言的函数
1、形势参数:在方法声明时用于接收外界传入的数据。
2、实际参数:调用方法时实际传给方法的数据。
3、返回值:方法执行完毕后返还给调用它的环境的数据。
4、返回值类型:事先约定的返回值的数据类型,如果没有返回值,必须显示指定为void。
方法声明的格式
【修饰符1,2…】 返回值类型 方法名(形参列表){
功能事先
}
public class yao{
public static void main(String args[]){
yao y = new yao(); //要通过对象调用普通方法
y.test(); //调用方法
y.add(1,2,3) //传数据到方法
}
void test(){ //无形参的调用方法
system.out.println("just test");
}
void add(int a,int b,int c){ //通过这里有参数进来
int sum = a + b + c
system.out.println(sum);
}
需要返回值可以将void改成返回值的类型
比如:return sum , 则为int add
方法前面加 static ,可以在主函数中直接调用。
方法重载:形参不同,方法名相同(参数名称不同不能调用,就比如改了位置)。
面向过程:适合简单,不需要协作的事务。
面向对象:解决复杂问题。
对象和类:
类可以看做是一个模板,或者图纸,系统根据类的定义来造出对象。
对象:叫做Object,instance(实例)。
抽象:抽出相似的部分,归纳出来。
类的定义方式:
每一个源文件必须有且只有一个public class .并且类名文件名保持一致。
main方法是程序执行的入口,必须要有。
构造方法:用于创建这个类的对象,无参的构造方法可以由系统自动创建。
1、通过new关键字调用
2、构造器虽然有返回值,但是不定义返回值类型(返回值的类型肯定是本类),不能在构造器使用return返回某个值
3、如果我们没有定义构造器,则编译器会自动定义一个无参的构造函数,如果已定义则编译器不会自动添加。
4、构造器的方法名必须与类名一致。
5、构造方法第一句总是super()(this表示创建好的对象)
垃圾回收机制:
1、发现无用对象
2、回收无用对象占用的内存空间
(1)引用计数法:算法简单,但是循环引用的无用对象无法识别
(2)引用可达法:根搜索算法
对象创建的过程和this的本质
创建对象:
1、分配对象空间,并对对象成员变量初始化为0或空
2、执行属性值的显示初始化
3、执行构造方法
4、返回对象的地址给相关的变量
this的本质:创建好对象的地址,在构造方法中也可以使用this表示“当前对象” this.对象
this不能用在 static方法中
static 关键字:
用static声明的成员变量为静态成员变量
修饰的成员变量和方法从属于类
普通变量和方法从属于对象的