专业的JAVA编程教程与资源

网站首页 > java教程 正文

Java基础——面向对象(包&内部类)

temp10 2024-10-20 14:41:46 java教程 11 ℃ 0 评论

声明:本栏目所使用的素材都是凯哥学堂VIP学员所写,学员有权匿名,对文章有最终解释权;凯哥学堂旨在促进VIP学员互相学习的基础上公开笔记。

简单工厂:隐藏子类创建

Java基础——面向对象(包&内部类)

1.我们不想依赖子类

2.需要面向父类编程

优点:

1.可以随意更改子类实现

2.升级和扩展

3.如果需要延伸特殊功能,我们可以申请接口

例题:图表:

1.柱状图

2.饼形图

3.折线图

它的整个图形用的是工厂模式去做的,不管什么图它只是制作方法而已,把饼形图、柱状图、折线图看做产品,然后申请一个图表类。

先把图表的功能申请好,至于这个接口下面有多少个产品无所谓。

然后创建一个图表工厂,申请一个创建图标方法。通过创建图表方法把不同的图表创建出来。好处:今后不同的图表发生升级,扩展时,通过工厂模式来解决不更改原有的代码的问题。

从设计角度:万事万物皆接口。(在生活中任何东西我们依赖的只是它们的功能,就是在生活中没有依赖实现只是依赖功能,因为我们依赖它们的功能今后便于更换、升级。万事万物皆接口,就是不管做什么编程,都形成接口,面向于接口编程。面向接口编程就是面向父类编程,让实现类去实现接口里面的方法)

注意:申请了接口一定要面向接口编程。(申请了接口要用接口来做类型,不能拿子类来做类型,不然申请了接口就没有意义了。就是要面向父类编程)

包:包就是文件夹。

类存放在包下,需要在类的前面写上package书写所属包下。

包+类名是类的全名。

如何访问其他包操作类:

1.全名(包+类名)

2.引包(import com.kaige123.Student)

引同一个包很多类的话,可以使用(import com.kaige123.*;)但是优先级比较低。

优先级:

1.先看(import com.kaige123.Student)

2.本包中搜索( Student )

3.找不到再去(import com.kaige123.;)

每个类都一个自动引入的包,import.java.lang.;所以优先级很低。

每个包都有跟系统重名的,可以使用两种方式避免这种问题:

1.写上全名 包+类名是类的全名

2.写上import 优先级比较高

以后声明类名的时候别使用系统类名,这样会出很多问题。

包的命名(全小写):

1.com开头 表示公司

2.org 开头 表示协会

公司或者协会(模块命名)

包的创建:

例题:跨包访问其他类。

1.把全名写全。

2.在类的前面,包的后面引入包(import)

3.import com.kaige123.*; 把包下面的类全部引入进来。

优先级例题1.:应用的是B包中的Student类

因为import com.kaige123.b.Student 优先级高

例题2:应用的是a包下的Student,它的优先级很低。

它先去搜索直接的引用,然后去所搜其他的引用,再去搜索(*)的引用,找不着说明没有此类。或者接口。

例题3:申请一个String类,没有运行的标志。

问题出现在String类上,在java中String类有一个自动引入的包,它的优先级很低。它引用的是Test1下面的String类,所以导致没有办法运行main方法。

解决方法:1.声明(重新引入系统String类)

解决方法:2.写上全名

静态方法引用:import static com.kkk.*;(没什么用)

系统包:

java.lang 系统类的包(String Integer Byte System)

Java.util 集合 时间

Java.aet 图形化

Javax.swing 最新的图形化

Java.spl 数据库

Java.net 网络

java.sql 数据源

Java.io 流

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表