1.面向对象
1.1面向对象和面向过程
面向过程:侧重分步骤,就是完成某件事的详细步骤,然后一步步完成,类似于公司扁平化管理
面向对象:侧重分模块,类似于公司的层级管理
1.2构造方法
构造方法:权限控制修饰符, 类名/方法名(参数列表){方法体}
构造方法的方法名,和类名必须一致
如果类中没有创造构造方法,则默认有一个公共的无参构造
如果写了构造方法,不管写的是有参还是无参,那么默认的公共的无参构造都不再提供
所以,我们一般在写构造方法的时候,也会手动再写一个无参构造(不一定,根据需求来定)
构造方法也是可以发生重载的
构造方法用于创造对象并初始化对象中的属性
1.3类和对象
对象:一切皆对象,对象就是具体的事物
类:封装了属性
对象:封装了属性值
一般会根据不同的属性划分不同的类 根据不同的属性值划分不同的对象
1.4实例化
实例化:类名 变量名 = new 类名(参数);
1.载入类到静态区
2.调用构造方法,栈内存开辟栈帧,在堆内存开辟内存空间
3.执行构造方法,对堆内存数据进行初始化
4.构造方法弹栈,把堆内存对象的内存地址返回给变量
1.5对象使用
Student s = new Student();
s.age = 20;
s.name = "张三";
System.out.println("年龄"+s.age);
1.6javaBean
javaBean规范
1.有公共的无参构造,是狗有有参构造看需求
2.所有的属性,全部private 私有化
3.提供操作属性的方法
1.7对象调用静态属性
因为静态属性跟对象没有关系,属于类级别的
所以当我们使用对象调用静态属性的时候会自动转换为通过类名调用
1.8传址和传值
public static void main(String[] args) {
Animal a = new Animal(10);
m1(a);
System.out.println("main"+a.age);
}
public static void m1(Animal a){
a.age=22;
System.ou.println("m1"+a.age);
}
class Animal{
int age;
Animal (int age){
age =age_;
}
}