面向对象-编程思维

什么是面向对象编程?

找东西来解决问题!

为什么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内存分配介绍

方法区

本地方法栈

寄存器

基本数据类型(包括赋值给其它变量):数值存在自己的空间内是真实的值

引用数据类型:数据存在其它地方,自己的空间是地址值

 

补充知识:成员变量(类中方法内的变量),局部变量(方法内的变量,包括形参数)的区别

就近原则:

this指向:把变量指向成员(作用:区分成员变量和局部变量

 

版权声明:本文版权归作者所有,遵循 CC 4.0 BY-SA 许可协议, 转载请注明原文链接
https://www.cnblogs.com/zhuxuanlv/p/16945959.html