一.方法的重载和重写.

(1)首先明确一点: 重写只能是子类重写父类方法,重载可以在类中或者子父类中.

(2)我直接用代码来解释:

程序逸的Java小心得,不足挂齿相互学习(2)

 

可以发现,重载就是懒得写方法名了,可能会有多个add方法的功能细节上有差异,所以干脆直接用一个方法名.

访问修饰符,返回值类型可以不一样,但参数列表一定要不一样.所以只要看 add()  这一部分就行了.

程序逸的Java小心得,不足挂齿相互学习(2)

 

当子类要重写父类方法时,访问修饰符必须要大于等于父类中方法的范围,还有就是返回值类型和参数列表也要一样,不然就变成重载了.

程序逸的Java小心得,不足挂齿相互学习(2)

 

上面这个就是返回值类型不同报错了.所以重写就看访问修饰符(范围大于大于)  返回值类型 和参数列表 (相同) 

 

二.子父类中在代码执行顺序:

程序逸的Java小心得,不足挂齿相互学习(2)

 

三.抽象类和接口的区别

(1)直接上代码来解释

程序逸的Java小心得,不足挂齿相互学习(2)

可以看到,抽象类中可以有普通成员变量和常量,也可以有构造方法,普通方法,私有方法, 但不能有私有抽象方法,并且抽象方法不能有方法体,

m3()后面不能有{}.

再来看看接口:

程序逸的Java小心得,不足挂齿相互学习(2)

 

首先可以看到,接口不能定义成员变量,只能定义公开静态常量 因为那个b变量的字体不一样.其次就是没有构造方法,里面定义的方法默认是public abstract修饰的.

四.Java的容器,也就是集合(只说主要的几个,还有很多哈,可以自己去学习)

(1)分类:单列集合(collection)  双列集合(Map)   但都是接口,需要实现类来实现.

(2)collection的细分:    List(也是接口,不是实现类,下面这两个才是) (ArrayLsit   LinkedList)    &&      Set(也是接口,不是实现类,下面这两个才是)(HashSet   LinkedHashSet)

(3) Map(也是接口,不是实现类,下面这两个才是) (HashMap   &&  SortedMap(接口)--->(TreeMap))

(4)算了,直接上图,哈哈哈:

程序逸的Java小心得,不足挂齿相互学习(2)

 

程序逸的Java小心得,不足挂齿相互学习(2)

       

HashSet的底层实现是通过HashMap实现的哈.集合的常见方法可以使用API自己去看看,其实就是增删改查.

相关文章:

  • 2021-05-25
  • 2021-11-04
  • 2021-06-20
  • 2022-02-02
  • 2022-12-23
  • 2022-12-23
  • 2021-05-14
  • 2021-10-06
猜你喜欢
  • 2021-12-05
  • 2021-10-08
  • 2021-05-20
  • 2021-09-08
  • 2022-12-23
  • 2021-09-21
  • 2022-12-23
相关资源
相似解决方案