java高级笔记

编程入门 行业动态 更新时间:2024-10-19 20:32:13

java<a href=https://www.elefans.com/category/jswz/34/1770104.html style=高级笔记"/>

java高级笔记

继承

访问控制:

Public(公共):访问无限制。

Protected(保护):因继承而生,同包内可访问,不同包的当前类的子类可访问,不同包的不是该类的子类不访问。

friendly(默认):访问限于该包。

Private(私有):访问限于该类。

1、子类能从父类中继承什么,不能继承什么?

能继承:

(1)父类中的所有public成员(包括成员变量与成员方法)

(2)父类中的所有protected成员(包括成员变量与成员方法)

(2.1)当子父同包时,子类继承的protected成员,可以让同包其他类来访问,类似缺省

(2.2)当子父不同包时,子类继承的protected成员,不可以让同包其他类来访问,类似私有

(3)父类中的所有缺省成员(包括成员变量与成员方法),当子类与父类同包时可以继承,不同包不能继承

不能继承:

(1)父类中的所有private成员(包括成员变量与成员方法)

(2)异包父类中的所有缺省成员(包括成员变量与成员方法)

2、子类与父类的构造方法是什么关系(构造方法能否继承)?

(1).当产生子类对象时,先默认调用父类无参构造方法(除非有特殊指定),然后调用子类构造方法

(2).在子类构造方法中可以使用super()来指明调用父类某个构造方法,super必须是子类构造方法中第一个可执行语句,并不意味着只能调用父类的一个构造,因为子类中可写多个构造,多次super()。

(3).子类不能继承父类的构造方法,更不存在覆盖的问题。

3、子类从父类中继承的方法在子类中能否被改写?

可以改写,叫方法重写或方法覆盖。

方法重载:方法名相同,参数列表不同,返回值类型可以不同。

方法覆盖(方法重写):子类与父类之间的多态性,子类对父类的函数重新定义。子类中定义的某方法与父类有相同的名称和参数,称为重写(此时返回值类型必须相同,否则会报错)。1、如果方法被重写,新的方法会覆盖父类中原有的方法,可用super调用原有的方法。2、子类的访问修饰权限不能低于父类的。

多态:

(1)继承,(2)方法重写,(3)运型时根据实际创建的对象类型动态决定使用哪个方法。

向上转型:父类引用指向子类对象;向下转型:将父类的对象强制转换为子类的对象

抽象类:

1)关键字abstract定义;实现:extends继承

2)抽象类:对一类类的抽象,一般包含抽象方法,使用abstract关键字来修饰

3)抽象类只能用来继承,不能直接产生抽象类对象,可以有构造方法(当某类共有常用)

4)一个类继承抽象类后,若不对抽象类中的抽象方法重写,则这个类仍是抽象类

5)抽象类中可以有非抽象方法,也可以没有任何方法;抽象类中若没有抽象方法,则不用重写

6)意义:将方法的设计与实现分离(接口也是,抽象的,都具有不唯一性)

接口

1)使用interface关键字来定义的一组抽象方法的总称。实现:implements 关键字

2)接口定义的属性为常量,相当于public static final

3)只有常量和抽象方法

4)可以有多个接口

note:(1)接口内的方法默认是抽象的public abstract,并且不可有普通方法;(2)类接入接口后必须重写方法或定义为抽象类

内部类

具有很好的分装性,内部类可以无限制的访问外部类的数据,包括私有属性和方法。并且可已被public、private、static等修饰。当一个类没有static修饰时,这个内部类就叫成员类。

成员内部类

静态内部类

匿名内部类

局部内部类

作用

1.内部类可以很好的实现隐藏。一般的非内部类,是不允许有private 与protected权限的,但内部类可以

2.内部类拥有外围类的所有元素的访问权限

3.可是实现多重继承

4.可以避免修改接口而实现同一个类中两种同名方法的调用。

更多推荐

java高级笔记

本文发布于:2024-02-26 06:00:39,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1701547.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:高级   笔记   java

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!