day5
面向过程
从底层做起,步骤一步一步实现
面向对象
整体观,现有的框架,然后直接调用
回顾
方法
-
命名规范
-
抛出异常
数组下标越界
-
非静态方法
加static,可以直接调用
-
静态方法
- 调用前要先实例化对象(new一个)
-
static
和类创建时一起加载(有占用内存的可能,所以实际运用时多选择创建静态方法?)
public class Demo03 {
public static void main(String[] args) {
Person person = new Person(); //此处的person为对象
System.out.println(person.people); //此时输出默认值null
Demo03 demo03 = new Demo03();
demo03.change(person); //这里传递过去是对象
System.out.println(person.people);
}
public void change(Person person){
person.people = "哈哈";
}
}
class Person{
String people;
}
注意上面调用方法时传递过去的是person,实参是方法,所以更改的是Person类的内容,这样、就和数值传递的类型区分开来
类与对象
死去的面向对象又突然浮现
-
类
一类东西,抽象的、泛指的、定义和描述一类事物具备的特点及行为
-
对象
具体的实例,能对上号的
类实例化后会产生一个对象,new出来的就是类的对象,xx类的具体事例
使用new创建对象时,系统会先分配内存,然后给对象默认初始化以及构造器调用
快捷键
引入局部变量 Alt+Enter
构造器
创建对象时会默认生成一个无参构造器
刚开始把用了中文(),想了好一会报错原因
有参构造是创建对象时就直接传入实参,构造时this实现赋值
栈堆图
创建对象时,先存入栈,调用时加载类(static方法同步)、main方法、实例化、
封装
禁止直接访问对象中的实际数据,只能通过接口调用。实现信息的隐藏就是封装
- 属性私有
提高程序安全性、保护内部数据
- get/set调用
隐藏代码实现细节、统一接口、增加系统可维护性
get/set快捷键alt + ins
继承
private私有属性不能继承
困了明天再补
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性