面向对象的思想实现的细节实现本质是通过面向过程来完成!
面向过程的调用自己定义的方法,面向对象调用库里面的方法。
以后使用java开发某个功能,首先要考虑有没有现成的?(一个对象具备的能力),有就直接使用!若没有,咋找类似功能(对象),
面向对象的三大特征:封装、继承、多态
封装:基础班学习
继承、多态:就业班学习
我们想要使用面向对象的思想进行开发!
java使用类作为一个基本的组织单元!【写java代码都是在类中完成的!】
类是对象的模板,对象是类的具体体现!类是对象的数据类型。
new Random()是对象 r是对象----Random 是类。
类是Java数据类型中的引用类型,使用类定义的变量称之为对象.
数据类型:基本数据类型和引用数据类型。(类和对象)
类=====》》属性(成员变量)+行为(成员方法)
成员方法: 将我们之前定义方法的static关键字去掉
public 返回值类型 方法名称(参数列表){
}
方法内是局部变量,方法外是成员变量
- 成员方法内部定义的为局部变量
- 类中,成员方法外部是成员变量
方法=====》》》返回值+参数列表
命名,类名 大驼峰 第一个字母大写 方法名 小驼峰 第二个单词的字母大写
性别–sex 取值 String
更正:
属性对于对象来说是独有的,行为对于对象来说是共享的。
内存图(数组)
内存图(方法)
成员变量和局部变量的区别:
private关键字:
变量在类的外边,为外界–变量在外界不能赋值。
private只能在本类中进行访问
利用public进行设置值和取值。
return;----使用条件:结束方法–后面的不执行了(结束这个方法,不让后面的代码执行)
break----------使用条件:switch条件或者循环------作用终止循环(continue只能作用于循环,结束本次循环)
局部变量与成员变量不能重名,否则局部变量隐藏成员变量,会使成员变量赋值失败。
在这里插入图片描述
------针对成员变量和局部变量的重名问题–使用this关键字进行解决
this关键字–谁调用这个方法,那么这个方法内部就代表谁[当前类的对象]-------this是当前类的对象-是指对象
构造方法
若一个类中没有定义任何构造方法,那么系统将会免费赠送一个无参构造方法!
new Student()----其实调用了Student类中的一个无参构造方法
- 只要new一个,都是调用的构造方法
- 若一个类没有定义任何构造方法,则这个类会免费赠送无参构造方法!
无参构造方法===创建对象
public 类名 (){
}
代参构造方法=创建对象+赋值
public 类名(参数列表){
this.成员变量名称 = 参数列表中变量的名称
}
类名大驼峰-----public 后面没有返回值
这个类的构造方法没有提供任何构造方法,那么本质是调用无参构造方法
赋值:2种方案(1)利用无参构造,和set方法为成员变量赋值—一般开发使用 (2)利用带参构造(蛮满参构造),直接赋值
若类中使用构造方法,开发中尽量使用带参构造方法,并且手动书写
ctrl键+点相应的对象—能够跳转到相应的构造方法
类名–首字母大写(大驼峰式)
以后成员变量定义时使用private私有关键词修饰
根据需要提供满参构造方法
标准java类--------JavaBean
为所有成员变量提供getter和setter方法快捷键
右键鼠标:- 点击Generate -getter and setter 或者 Alt+insert
全都选中。
API文档
使用别人提供的类,我们关注2个点:
1.这个类如何让创建对象(基本使用构造方法)
2.这个类中有哪些功能方法?—功能方法
API:帮助文档----利用Ctrl+鼠标左键==========》》可以跳转到定义的类。
1.应该先看返回值类型—2.再看功能描述。
例子:
注意点;