Day7 Java记录

==================================================================================================================

Java中的面向对象与面向过程的思想

Java是一门面向对象的语言,祖师爷有云:万物皆对象【任何东西都可以抽象为Java代码】

面向对象和面向过程是两种编程的思想,面向过程强调的是由开发者自己完成数据的处理,面向对象强调的是找到一个具备指定功能的对象将数据交给对象进行处理。

面向对象思想更加符合人类的思维习惯 饿了要找厨师 出门要找司机

★面向对象与面向过程是对立的吗? 面向过程了就不能面向对象,面向对象就不能面向过程 => 不是! 二者是相辅相成的,面向对象就是基于面向过程的。

==================================================================================================================

Java中的类与对象

对象:保存了具体的数据的数据表,而对象的创建要依赖于类。

类就是对象的设计图/模板,对象就是基于类创建出来的具体体现。

类只负责声明表示的那一类事务的共同的属性(成员变量)和行为(成员方法),类本身并不保存具体的变量值【每个对象都有相同的属性和行为 但是属性的值是不一样的】

==================================================================================================================

Java中的类的声明方式 => 分析(将事物拆分成数据来体现)

汽车(品牌/价格/颜色/发动机/变速箱/座位数) 手机(品牌/价格/颜色/Cpu/内存/硬盘)

public class 类名 {

//成员变量 实际开发中不会写 【=初始化值;】

修饰符 数据类型 变量名 = 初始化值;

修饰符 数据类型 变量名;

//成员方法 相较于之前第五天学习的方法 类中的成员方法声明的时候修饰符不需要加static

修饰符 返回值类型 方法名(方法参数){
方法体;
}

//构造方法

}

==================================================================================================================

Java中的对象的创建方式

固定: 数据类型(类名) 对象名 = new 类名(); 调用无参构造创建对象,对象的成员变量都是默认值 整数:0 小数:0.0 布尔:false 引用:null

成员变量的访问: 【对象名.成员变量名;】 到最后不用!

成员方法的访问: 【对象名.成员方法名();】 √ 方法要什么参数调用的时候要传递什么参数,方法有返回值也要接收。

==================================================================================================================

Java中对象的内存图 ->

Student s = new Student();

先执行new -> 在堆内存开辟空间。

再通过Student();明确要执行的是Student类的无参构造,空间要保存一个Student类的数据,读取方法区中Student类的组成信息(看看有哪些成员变量)在空间完成初始化并且给一个默认值。

当构造方法执行完成之后会返回一个地址值,将地址值赋值给栈中的s引用。s就是保存Student对象的地址值的引用。【s:不是对象】(上课:s对象)

==================================================================================================================

Java中的this关键字的使用方式

this就是在成员变量与局部变量名称冲突的时候,使用this.表示成员变量

例:public void setAge(int age){
this.age = age; //将参数age赋值给成员变量age
}

哪个对象调用方法,this就表示谁, stu.setAge(10); setAge中this就表示stu对象。

==================================================================================================================

★Java中类中的构造方法的作用与分类

构造方法的作用:创建对象的时候完成对象成员变量的初始化并返回地址值。

是一个极其特殊的方法 声明格式:修饰符 类名(){} 构造方法的方法名称就是类名,一个字母都不能变的!

分成无参构造/有参构造

无参构造:完成对象成员变量的初始化并且是默认值, public Person(){} Person p = new Person(); 特点:如果类中没有任何一个构造方法,则系统默认给一个无参。

有参构造:完成对象成员变量的初始化并且是指定的值,需要在构造方法中给哪个成员变量赋值,就声明为参数

public Person(String name){
this.name = name;
}

Person p = new Person(“张二狗”); 最终总结:一个JavaBean(先无参再满参,其余根据情况来) new 调用构造的前提是类中有这个构造。

构造注意事项:

1.构造方法的名称必须和类名相同【特殊】

2.构造方法默认是重载方法

3.如果类中没有任何构造方法,则系统默认生成一个无参,如果类中有了构造方法,系统默认的无参不会再给,想用需要手动生成!

==================================================================================================================

Java中的类的封装特性与代码体现

封装是Java三大特性之一 : 【合理隐藏】【合理暴露】

合理隐藏:不让外界直接访问成员变量 stu.age = -121; 语法√ 不满足实际要求。为了不让外界直接访问成员变量,将所有的成员变量通过private(只能够在本类中访问)

合理暴露:虽然不让外界直接访问成员变量,但是也要对外提供公共的获取值与赋值的通道[基于GET/SET方法来对成员变量赋值/取值]

总结:一个JavaBean成员变量默认用private修饰,提供GET/SET方法,并且提供一个满参/无参构造【标准的JavaBean】 成员变量√ 构造(生成) GET/SET(生成)

==================================================================================================================

面试:Java中的成员变量与局部变量的区别

五个:(1)最明显的区别 位置区别:成员变量类中方法外,局部变量在方法中或者方法的声明上(形式参数)

内存位置:成员变量在堆中,局部变量在栈中

初始化值:成员变量有默认的初始化值,局部变量没有,必须先赋值再使用

生命周期:成员变量随着对象的创建存在,随着对象的使用完毕消失,不会马上消息(等垃圾回收器) 局部变量随着方法调用存在,方法调用结束(出栈:马上消失)

作用域:成员变量本类中均可访问,局部变量只可以在定义变量的方法中访问!

==================================================================================================================

今天的东西:标准的JavaBean / 能够基于JavaBean类调用构造方法创建对象完成对象成员变量的取值/赋值/成员方法的调用 √

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值