head first java第八章的学习

很高兴今天能够学习这个章节,本来昨天就可以学完,不过因为我滴老父亲过生日了,我赶紧赶回家吃了个饭耽误了一个晚上。不出意外,这一章讲的就是接口和多态的关系。上一章讲的是一个父类引用可以有多种实例,那么这一章讲的就是一个接口有多重实现形式(昨天老师上课讲的hh)。然后百度一下多态,之前不容易理解,现在理解应该深了一些:

多态是同一个行为具有多个不同表现形式或形态的能力。

多态就是同一个接口,使用不同的实例而执行不同操作。

看看引言吧!

注意:这里的接口和gui(图形用户界面,这个interface是界面的意思)的意义不同,应该是接受一个协议或者规则的意思,是百分百的抽象类,不可以被初始化,用来被实现。

有的类本身是很抽象的,就不应该被初始化,他没有一个实体。——在设计完继承结构之后,确定类的抽象形式,abstract。(编译器就会帮助你不初始化这个类),但是可以声明,不可以new实例化。

例子:gui中的组件类是抽象类

多态的使用——object终极类

如果说一个方法可以用于多个类别,为什么不直接将类别作为参数传递呢?这个时候就需要多态,并且有一个终极类将不同的类别传进去

书中例子:自己创建一个MyDogList+MyCatList——>一个MyAnimalList

 

class MyAnimalList
{
private Animal animals =new Animal[5];
int nextIndex=0;
void add(Animal a)
{
if(nextIndex<animals.length)
{
animals[nextIndex]=a;
System.out.println(""Animal added at"+nextIndex);
nextIndex++;
}//end if
}//end method
}//end class


public class MyAnimalListTestDrive
{
MyAnimalList list=new MyAnimalList();
Dog dog=new Dog();
Cat cat= new Cat();
list.add(dog);
list.add(cat);
}

一些关于object的知识点

判断两个对象是否相等equals()

获得它的类getClass()

产生对象的哈希代码hashCode()

toString()方法,这个方法,如果直接print对象的话就会自动调用这个方法!,所以可以借助这个来完成一些说明的功能

(可以在类中重写toString()方法)

            Q&A

里面都没有抽象方法;最好重写equals。hashCode。toString方法;有的final不能覆盖;

Q:为什么Object是一个具体的类呢????

A:因为有时候就是有用——如线程同步化(虽然不知道但还是接受了这个设定)

它的目的:作为多态让方法可以处理多种类类型;让程序执行期都有可以用的实例方法——线程相关

Object警告:放进ArrayList<Object>之后就不再是原来的对象了,变得抽象不具体了。

结果:不能使用具体类的方法了。实质返回的是object的引用类型,编译器是通过引用类型来查看方法是否可用的。

(每个子类都可以被当做是父类来处理,因为父类可以实现的东西比较少,父类被包含在子类里面)

object转换——强制类型转换为原来的引用类型

instanceof

接口的用法、接口和继承的区别

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
本项目是一个基于SpringBoot开发的华府便利店信息管理系统,使用了Vue和MySQL作为前端框架和数据库。该系统主要针对计算机相关专业的正在做毕设的学生和需要项目实战练习的Java学习者,包含项目源码、数据库脚本、项目说明等,有论文参考,可以直接作为毕设使用。 后台框架采用SpringBoot,数据库使用MySQL,开发环境为JDK、IDEA、Tomcat。项目经过严格调试,确保可以运行。如果基础还行,可以在代码基础之上进行改动以实现更多功能。 该系统的功能主要包括商品管理、订单管理、用户管理等模块。在商品管理模块中,可以添加、修改、删除商品信息;在订单管理模块中,可以查看订单详情、处理订单状态;在用户管理模块中,可以注册、登录、修改个人信息等。此外,系统还提供了数据统计功能,可以对销售数据进行统计和分析。 技术实现方面,前端采用Vue框架进行开发,后端使用SpringBoot框架搭建服务端应用。数据库采用MySQL进行数据存储和管理。整个系统通过前后端分离的方式实现,提高了系统的可维护性和可扩展性。同时,系统还采用了一些流行的技术和工具,如MyBatis、JPA等进行数据访问和操作,以及Maven进行项目管理和构建。 总之,本系统是一个基于SpringBoot开发的华府便利店信息管理系统,使用了Vue和MySQL作为前端框架和数据库。系统经过严格调试,确保可以运行。如果基础还行,可以在代码基础之上进行改动以实现更多功能。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值