T4 S01 day1

**********************************************************************
面向对象
**********************************************************************
eclipse:开源、绿色 非常流行的IDE 集成开发环境
MyEclipse:是eclipse的插件,需要付费,已经配置好了一些插件

第一步:创建一个工作空间 /workspace 存放项目代码的位置 是一个文件夹
手动创建
【说明】在Java中,名称、路径中都不要包含中文,会产生不确定的错误

第二步:打开eclipse时,选择第一步创建好的工作空间

第三步:创建项目
项目:一个完整业务功能的代码集合
.java文件的集合
第四步:创建包
包:文件夹,作用:存放.java文件的,把同一类.java文件存放在同一个包中
1、包要创建在src目录下
2、创建包要符合规范
域名.公司名.项目名.具体含义名
com.qf.oopstudy.study

.com 商业
.cn 中国
.edu 教育
www.sina.com.cn
【说明】
1、包名用英文,且都是用小写字母
2、.表示一个目录
第五步:创建类文件,文件要存放在包中

syso alt+ / 回车
第六步:运行程序
索要运行的.java文件必须有main方法
右键单击要运行的文件, run as javaapplication

今日内容:
1、eclipse工具的使用
2、方法重载
3、构造方法/构造器
4、继承

方法重载:
案例:计算类: 各种计算方法
Com.java
方法重载:在同一个类中,方法名相同,参数不同
好处:同一类型的方法,用一个名字,方便记忆和调用
【说明】
1、参数的个数不同
2、参数的类型不同
3、参数的顺序不同(重载的方法有不同类型的参数时)
4、只有参数名不同,不允许
5、只有返回值类型不同,不允许
注释:选中要注释的代码
ctrl+ / 注释/取消注释
方法重载:在同一个类中,同名不同参,与返回值类型无关。
调用原理:由于参数不同,Java在调用时,根据参数来决定调用哪一个方法。

案例:Demo3.java
发现问题:当类中的属性较多时,通过类的对象给属性赋值时,会漏掉某个属性的赋值,当使用属性时,使用的是默认值,不符合实际要求。
如何在给属性赋值时,必须都进行赋值呢?
构造方法可以解决
什么是构造方法?
构造方法是一个特殊的方法,与类名同名,且没有返回值,void也不允许有。
作用:
1)系统在创建类的对象时调用
在new 时调用
【说明】Java会给每一个类默认添加一个public 且无参的构造方法
2)使用带参数的构造方法给类中的属性赋值。


constructor 构造器/构造方法
【说明】一旦自定义了有参数的构造方法后,那么系统就不在默认添加无参构造方法

案例分析:
员工管理系统
PG
属性:id name age bugsNum
方法:work

PM
属性:id name age projectNum
方法:work
在OOP中 所有属性都要求private ,然后封装成对应的getXXX setXXX方法

封装的快捷键
alt + shift + s 在弹出的窗口中选择“generate getters and setters”

问题:代码重复编写 共有的内容,怎样使代码复用
解决办法:继承
做法:
1、新建一个类:存放各个类中的共同属性、对应的封装的方法
2、让PG PM 继承 存放公共属性的类
语法:
public class PG extends Employer{
super.方法();
}


extends 扩展 继承
this 这个 当前类的对象
super 超级 父亲

继承
动物类 人类
人类 男人类
男人类 1901男生类

“范围”描述较为大的类:父类 具有公共的特征:属性、行为
相对“范围”描述较小的类:子类 除了具备父类中的公共特征外,还有独有的特征
父类:超类 基类
子类:派生类 衍生类

子类 extends 父类{

}
继承:描述的是类和类之间的一种关系,通过这种关系,子类可以使用父类中

允许使用的成员,达到代码复用的作用。
Java中继承的特点:
1)类单继承性 一个子类只允许有一个父类 ,父类还可以再有父类
2)传递性 在子类中可以使用父类的父类中的成员
案例:FisrtPG.java

【说明】当创建一个类后,如果没有指明其父类,那么这个类会默认继承Object类
Object类是所有类的父类。

扩展:继承的本质(从内存的角度来分析)
见:继承的本质内存图
在子类的构造函数中,会默认调用父类的构造函数
相当于 super(); 且此代码必须是子类构造函数的第一行代码

练习:
车:
品牌 颜色

轿车:
排量

宝马轿车:
安全气囊
方法:show()

Test
main
创建两个bmw对象
要求:1、继承、 2、编写有参数的构造方法

构造函数重载:编写了有参数的构造函数后,重载无参数的构造函数

调用父类中有参数的构造方法

宝马 白色


总结:
1、方法重载
在同一个类中,方法名相同,参数不同(个数,类型,顺序),与返回值类型无关

2、构造方法: 系统默认给每个类添加public 无参数的构造方法
与类同名,没有返回值 没有void
作用:1、创建对象 分配堆内存
           2、给属性赋值
构造方法可以重载

3、继承
概念:类之间的一种关系
继承的语法
继承的特性: 类单继承 传递性
类 默认继承Object
重点:继承的本质
在子类的构造方法中如何调用父类的构造方法
第一条语句:super();
继承的优点:


子类可以继承父类中的哪些成员?
public 公共的
不加 友好的
procted 受保护的
private 私有的

猜你喜欢

转载自www.cnblogs.com/wxcsz/p/10638193.html
今日推荐