JAVA每日作业day6.20

ok了家人们,今天学习了面向对象的继承,话不多说让我们看看怎么个事。

我们先把昨天学 面向对象-封装 的温习一下,来个例子

1,综合案例

做一个关于学生的随机点名器

定义了两个变量,name和age,给他们封装一下。

1,我们在main用了键盘录入方法,用于录入学生的数据,

2,定义数组,定义了一个学生类(student)类的数组,

3,for循环,方便录入学生数据,我们又创建一个类名student,用于接收数组的数据

4,定义随机数Random,用变量index去接收他,接收数组数据,打印结果。

ok我们进入今天学习的内容。

1,继承

        1.1 继承的概念

        1.2 代码中的继承(extend)

        

我们在父亲(Father)类,定义了三个属性,name,age和sex,定义了三个方法

wash(),cook(),sleep(),

我们让儿子(Son)类继承他,

继承他之后,我们就可以调用父亲类了的数据了,打印输出看下结果。

这就是面向对象-继承的基本使用了

2 继承的注意事项

        Java中的类只能单继承,不能多继承,(一个类只能有一个父类)

        不要为了继承而继承,一定要满足什么是什么的关系

 2.1 继承后私有成员的访问规则

        父类的私有成员不能被直接访问

我们在Perosn定义了,一个私密方法,一个私密变量。

让子类继承他,

当我们子类调用父类数据的时候均有报错,

2.2 继承后非私有成员的访问规则

        当通过子类访问非私有成员时,先在子类中找,如果找到就使用子类的,找不到就继续去父类中找。

父类和子类定义了同名的方法,我们在main方法上运行看一下

可以看到,我们调用了方法之后,是输出的子类的方法

2.3 继承后构造方法的访问规则

构造方法的名字是与类名一致的。所以子类是无法继承父类构造方法的。

2.4 方法重写(Override)

方法重写 :子类中出现与父类一模一样的方法时(返回值类型,方法名和参数列表都相同),会出现覆盖效果,也称为重写或者复写。声明不变,重新实现。  

方法重载:在同一个类中,方法名相同,参数列表不同

重写的注意事项:              

1.方法重写一定要是父子类关系              

2.方法重写要求返回值类型,方法名,参数列表要相同              

3.子类重写父类的方法,要求子类重写方法的访问权限大于或者等于父类方法的权限                  

权限修饰符: public >   protected   > 默认(空)   > private

我们上个例子

父类写了三个方法

子类继承

一样的方法名,我们直接用个super.run();

这个用法可以在你以后更新数据时直接使用。

3,每日作业

1,定义猫类Cat。属性:毛的颜色color,品种breed。行为:吃饭eat(),抓老鼠catchMouse()定义狗类Dog。属性:毛的颜色color,品种breed。行为:吃饭(),看家lookHome()要求:1.按照以上要求定义Cat类和Dog类,属性要私有,生成空参、有参构造,set和get方法2.定义测试类,在main方法中创建该类的对象并给属性赋值(set方法或有参构造方法)3.调用成员方法,打印格式如下:

根据题意,定义猫类Cat的属性,封装,定义两个方法。

狗类也是如此。

我们用有参方法去写

1,创建对象,录入数据

2,调用方法

3,输出

2,继承-创建类描述学生、老师;需求:1.学生和老师都具有的属性:姓名;性别;年龄;2.学生具有的行为:吃饭;睡觉;学习;其中,调用学习功能能够输出一句话:xxx在学习Java; 3.老师具有的行为:吃饭;睡觉;教学;其中,调用教学功能能够输出一句话:xxx在教Java;

创建老师类对象,封装,定义一个方法

学生类继承

这里用了两个方法,一个无参和一个有参方法,

1,创建对象,录入数据

2,setName录入数据

3,调用teach方法,

4,打印输出

3,继承-需求:定义类描述老张和小张,其中小张是老张的儿子,二者都有姓名、性别、年龄、地址等属性,都具有挣钱养家的功能,老张通过种地养家,小张通过写代码挣钱养家

根据题意,创建一个老张和小张类

小张类继承了老张类,并写了一个方法。

这题也是分别用了无参和有参方法,

ok了家人们明天见。

  • 36
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值