【JAVA学习】
OPP面向对象解决
实例化一只猫[创建一只猫对象]
1、new Cat()创建一只猫(猫对象)
2、Cat cat1 = new Cat();把创建的猫赋给 cat1
3、cat1 就是一个对象
//new Cat()创建的对象空间才是真正的对象
//cat1是对象名
class Cat{
String name;
int age;
}
类是抽象的,是数据类型,对象是具体的,是实例
类是对象的模板,对象是类的一个个体,对应一个实例
类 --> 对象的过程称为:创建一个对象/实例化一个对象/把类实例化
对象在内存中的存在形式

成员变量 = 属性 = field(字段)
属性可以是基本数据类型,也可以是引用类型(对象,数组),属性是类的一个组成部分
属性的定义: 访问修饰符 属性类型 属性名
访问修饰符:控制属性的访问范围 四种:public,proctected,默认,private
属性类型:任意类型,包括基本类型和引用类型
属性不赋值,有默认值
如何创建对象
1)先声明再创建
Cat cat //声明对象cat
cat = new Cat();//创建
2)直接创建
Cat cat = new Cat();
如何访问属性
语法:对象名.属性名
类和对象的内存分配机制:
Java 内存的结构分析
1) 栈: 一般存放基本数据类型(局部变量)
2) 堆: 存放对象(Cat cat , 数组等)
3) 方法区:常量池(常量,比如字符串), 类加载信息
Java 创建对象的流程简单分析
Person p = new Person();
p.name = “jack”;
p.age = 10
1) 先加载Person 类信息(属性和方法信息, 只会加载一次)
2) 在堆中分配空间, 进行默认初始化(看规则)
3) 把地址赋给p , p 就指向对象
4) 进行指定初始化, 比如p.name =”jack” p.age = 10
成员方法
方法使用
1、方法写好后,如果不去调用(使用),不会输出
2、先创建对象,然后调用方法即可
例如: Person p1 = new Person();
p1.speak();
创建方法的思路:
1、方法的返回类型 //void 表示没有返回值
2、方法的名字
3、方法的形参
4、方法体{ ... }
访问修饰符 返回数据类型 方法名 (形参列表){
//方法体
语句
return 返回值;
}
访问修饰符(作用是控制方法使用的范围)
方法的调用机制原理

注意细节
调用带参数的方法时,一定对应着参数列表传入相同类型或兼容类型的参数
实参和形参的类型要一致或兼容、个数、顺序必须一致
方法不能嵌套定义
一个方法最多有一个返回值(如果要返回多个结果可以,返回数组)
返回类型可以为任意类型,包含基本类型或引用类型(数组,对象)
如果方法要求有返回数据类型,则方法体中最后的执行语句必须为return值,而且要求返回值的类型必须和return的值类型一致或兼容
方法调用细节
同一个类中方法调用;直接调用即可
跨类中的方法A类调用B类方法:需要通过对象名调用,比如对象名.方法名(参数);
成员方法的传参机制
基本数据类型,传递的是值(值拷贝),形参的任何改变不影响实参!
引用类型传递的是地址(传递也是值,但是址是地址),可以通过形参影响实参!
浙公网安备 33010602011771号