一、属性细节
1) 属性的定义语法同变量,示例:访问修饰符 属性类型 属性名;
这里简单的介绍访问修饰符: 控制属性的访问范围
有四种访问修饰符 public, protected, 默认, private
2) 属性的定义类型可以为任意类型,包含基本类型或引用类型
3) 属性如果不赋值,有默认值,规则和数组一致。具体说: int 0,short 0, byte 0, long 0, float 0.0,double 0.0,char \u0000,boolean false,String null
二、 类和对象的内存分配机制
1.Java 内存的结构分析
1) 栈: 一般存放基本数据类型(局部变量)
2) 堆: 存放对象(Cat cat , 数组等)
3) 方法区:常量池(常量,比如字符串), 类加载信息
4) 示意图 [Cat (name, age, price)]
2.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、访问修饰符 (作用是控制 方法使用的范围)
如果不写默认访问,[有四种: public, protected, 默认, private], 具体在后面说
2、 返回数据类型
1) 一个方法最多有一个返回值 [思考,如何返回多个结果 返回数组 ]
2) 返回类型可以为任意类型,包含基本类型或引用类型(数组,对象)
3) 如果方法要求有返回数据类型,则方法体中最后的执行语句必须为 return 值; 而且要求返回值类型必须和 return 的值类型一致或兼容
4) 如果方法是 void,则方法体中可以没有 return 语句,或者 只写 return ;
3、方法名
遵循驼峰命名法,最好见名知义,表达出该功能的意思即可, 比如 得到两个数的和 getSum, 开发中按照规范
4.
![ad4ec8d4738b45c49f38dce71f6641b9.png](https://i-blog.csdnimg.cn/blog_migrate/76f348447fecebe342b7b92ab93a7576.png)
5.
四、方法重载细节
1.java 中允许同一个类中,多个同名方法的存在,但要求 形参列表不一致!
比如:System.out.println();
out 是 PrintStream 类型
2.重载的好处
1) 减轻了起名的麻烦
2) 减轻了记名的麻烦
3.快速入门案例
案例:类:MyCalculator 方法:calculate
1) calculate(int n1, int n2) //两个整数的和
2) calculate(int n1, double n2) //一个整数,一个 double 的和
3) calculate(double n2, int n1)//一个 double ,一个 Int 和
4) calculate(int n1, int n2,int n3)//三个 int 的和
4.
五、可变参数
六、作用域
细节:
七、构造器(构造方法)使用细节