1.java中参数传递问题
1.基本类型,形式参数的改变不会影响实际参数
2.引用类型,形式参数的改变直接影响实际参数
例子:
int a=1;
change(a);//change方法执行完后,a的值还是1;
int[] arr={1,2};
change(arr);//change方法执行后,会改变arr指向的对象的内容
2.面向对象
1.面向过程是以函数为基础,完成各种功能,强调的是过程,例如c语言
2.面向对象时以对象为基础,完成各种功能,强调的是对象,结果
3.面向对象基于面向过程
1.面向对象时一种更符合人类行为习惯的思想
2.把复杂的事情简单化
3.让程序员从执行者变成了指挥者
1.吃饭,不自己做饭,而是去餐馆。自己做饭就是面向过程,而去餐馆就是直接去找回做饭的对象
3.类和对象
1.将事物的属性和行为提取到一个集合中,这个集合称之为类,是一个抽象的概念
2.而对象是某种事物的具体表现,具体的变现形式
4.定义类
1、定义格式
类名 对象名 = new 类名() Student s=new Student();
2、使用格式
1、成员变量的使用
调用:对象名.变量名 s.name();
赋值:对象名.变量名 = 值;
2、成员方法的使用
调用:对象名.方法名(实际参数) ; s.getName();
5.成员变量和局部变量的区别(理解)
1、定义位置
成员变量:在类中方法外
局部变量,在类中方法中,或者方法上的形式参数
2、初始化的区别
成员变量:有默认的初始化值
局部变量:无
3、存储位置
成员变量:堆 随着对象的存在而存在
局部变量:栈 随着方法的存在而存在
class Studnet{
public String name;//成员变量
Student(){}
Student(String name//局部变量){
this.name=name;
}
}
6.匿名对象(理解)
1、概念
没有名字的对象
例子:new Student("wing").getNname();
2、使用场景
A 对象中的方法只调用一次的情况下使用(一般在测试时使用)new Student().sayHello();
B 匿名对象作为实际参数传递
show(new Student("wing",23))