什么是面向对象编程?
找东西来解决问题!
为什么java会采取这种套路来编程?
面向对象到底要学什么?
————————————————————————————————————————————————————————————————————
设计对象并使用
类和对象
类(设计图)对象共同特征的描述
类的定义
对象:真实存才的具体东西
如何得到类的对象:
类名 对象名 = new 类名();//实例化对象
访问属性:对象名.成员变量;
访问方法:对象名.方法名()
补充::::::定义类的补充事项
(1)用来描述一类事物的类,专业叫做:javaben.在javabean中是不写main方法,写main类的叫测试类!!!!!
(2)类名第一个字母建议大写,使用驼峰命名法,见名知其意。
(3)一个.java文件中可以定义多个class,但是只能有一个public属性的类,并且类的名字要和文件名相同(实际开发还是一个文件定义一个类)
(4)成员遍历的完整定义格式:修饰符 数据类型 变量名称 = 初始值
开发中的类的设计:(名词提炼大法)
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
封装(如何正确的设计对象的属性和方法?)
人画圆?对象代表什么?就得封装对应的数据,并提供数据对应的行为!!!!!!!
人不画圆,圆自己画圆,人通过使用画圆的方法来使用圆来画圆
人关门?
关门的方法是门的方法,而不是人的方法
张三砍了李四,李四就死了?
张三持刀行凶,造成了李四死亡的后果,李四是自己死的,只是张三通过行凶导致李四自己死亡!
封装的好处:
---------
关键字:(权限)
private关键字:被修饰的成员只能在本类才能访问
如果要访问则需要使用内部方法get和set
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
this关键字
成员变量和局部变量(就近原则)
使用this来实现非就近原则上
this的内存原理:
构造方法(构造器:在创建对象的时候给成员变量进行初始化(赋值)!)创建对象的时候,虚拟机会会自动调用构造方法,作用是给成员变量进行初始化。
格式:修饰符 类名(参数){
方法体;
}
特点:
1.方法名与类名相同,大小也要一致
2.没有返回值类型,连void也没有
3.没有具体返回值(不能由return带返回结果数据)
执行时机:
1.创建对象的时候由虚拟机调用,不能手动调用构造方法
2.每创建一次对象,就会调用一次构造方法
注意:
1.没写给默认,写了不再给默认构造方法
2.构造方法可以重载
3.实际开发都要写带参构造和无带参数构造
标准的javaBean(葡萄干插件的使用)
1.类名见名知意--驼峰
2.成员变量使用private--保障数据安全
3.提供至少两种构造方法(有参构造和无参构造)(
//快捷键 alt+insert(无参构造+有参数构造shift)
//插件:葡萄干
//快捷键 alt+insert(无参构造+有参数构造shift,葡萄干插件:右键生成。shift+ctrl+,)
)
4.成员方法(提供一个成员对应的set()和get(),如果还有其他的行为也要写上)
对象内存图
java内存分配介绍
栈
堆
方法区
本地方法栈
寄存器
基本数据类型(包括赋值给其它变量):数值存在自己的空间内是真实的值
引用数据类型:数据存在其它地方,自己的空间是地址值
补充知识:成员变量,局部变量的区别
标签:构造方法,对象,成员,面向对象,画圆,方法,类名 From: https://www.cnblogs.com/zhuxuanlv/p/16945959.html