java 复习2

2.分支语句switch(表达式){}中,表达式不可以返回哪种类型的值(  C)。   A.整型      B.实型           C.布尔型            D.字符型  

 实例变量和类变量 实例变量:在类体内但在方法体外定义的变量,且变量名前没有static修饰符。

类变量:在类体内但在方法体外定义的变量,且变量名前有static修饰符。

局部变量:在方法体内或块内定义的变量,变量名前只能用final修饰或没有修饰符。

 

3.类变量位于方法区 实例变量位于堆区 局部变量位于栈区

4.变量的生存期:

变量被分配内存的时间期限。 类变量的生存期与类相同。

实例变量的生存期与实例(即对象)相同。

局部变量当其所在方法被调用时,为该局部变量分配内存空间,当其所在方法调用结束时,收回该局部变量所占内存空间。

5.实例方法和类方法的定义

被static修饰的方法称为类方法(或静态方法) 。

没有被static修饰的方法称为实例方法。

6.类中成员的访问控制

1.私有(private)成员: 仅在本类内中的代码可访问它。

2.默认(无修饰符)成员: 在同一包内中的代码可访问它。

3.保护(protected)成员: 在同一包内及其子类(不同包)中的代码可访问它。

4.公共(public)成员: 在所有包内中的代码可访问它。          

 总之,在Java语言中,类、包和访问修饰符共同构建了Java的访问控制机制。

7.在一个类中,不可以被继承的内容有:

1.私有成员   因为它们只在本类中可见,所以在类外就不能被访问,进而不能被继承。

 2.静态初始化块、实例初始化块和构造方法 因为它们都不是成员,因此也不会被继承  

3.在父类或超类中用修饰符final或static修饰的方法    

4. 父类和子类不在同一个包内,父类中没有用protected、public修饰的成因为它们只在本包中可见,所以在包外就不能被访问,进而不能被继承。

8. Java虚拟机的绑定规则:  

实例方法与引用变量实际引用的对象的方法绑定,属于动态绑定。 成员变量(包括实例变量和静态变量)与引用变量所声明的类型的成员变量绑定,属于静态绑定。 静态方法与引用变量所声明的类型的方法绑定,属于静态绑定。

9.子类构造方法应遵守下列原则:

如果子类没有定义任何构造方法,那么在创建子类对象时,调用父类无参构造方法(即默认的构造方法),即执行super( );。

如果子类定义了构造方法,并且在子类构造方法中没有显式调用父类的构造方法,那么在创建子类对象时,首先调用父类无参构造方法(即默认的构造方法),然后再执行子类自己的构造方法。

如果子类定义构造方法,并且在子类构造方法中利用super关键字显式调用父类的构造方法,那么在创建子类对象时,首先执行显式调用父类的构造方法,然后再执行子类构造方法体的其余部分。不再调用父类无参构造方法(即默认的构造方法)。

10.this 代表当前对象本身。

在非static方法中,当局部变量或参数与类的成员变量同名, this.变量名。

在类的构造方法中,通过this语句调用本类的另一个构造方法。this([实参表]); (构造方法体中的第一条语句)

11.final: 最终类:final修饰的非抽象类不能被继承。

最终方法:final修饰的非抽象方法不能被子类的方法覆盖。 常量:final修饰的变量,只能被赋一次值。

12.

接口的概念: 接口是若干完成某一特定功能的没有方法体的方法(抽象方法)和有名常量的集合。

.接口的作用 接口是用来实现类间多重继承功能的结构。 接口仅仅是提供功能定义,即对外调用方法的接口和规范,而功能的实现是由实现这个接口的各个类来完成的。

而接口功能的使用,可在其它类中调用接口中的方法来实现。 接口是Java语言实现多重继承的唯一途径

 

 总之,接口的定义相当于功能定义,接口的实现相当于功能实现,接口的使用相当于客户或用户在使用接口功能。

 

2. 类与接口的区别 一个类只能有一个直接超类,而一个接口可以有多个直接超接口(也可以没有)。

所有的类有一个共同的根类,而接口没有这样一个共同的超接口。

类只能使用单继承,而接口实现了多重继承。

类有变量、初始化块、构造方法和实现的方法,而接口没有变量、初始化块、构造方法和实现的方法。

类(不含抽象类)可以直接创建对象,而接口不能直接创建对象。

 

1.接口的“继承”称为“实现”,

格式如下: [修饰符] class 类名 [extends 直接超类名] implements 直接超接口名列表 {    ... }

在类定义中,用implements声明该类将要实现哪些接口。 实现的方法必须指定为public修饰符。

否则,认为缩小方法访问权限范围。

类中必须具体实现该interface中定义的抽象方法。

如果实现接口的类不是抽象类,那么必须实现该interface中定义的全部方法。

如果不需要某个方法,也要定义成一个空方法体的方法:

    public 方法名()  {  } 。

如果实现接口的类是抽象类,那么可以不实现该interface中定义的全部方法。

2.抽象类与接口的关系

抽象类可以含有非抽象方法,提高代码可重用性;接口只能含有抽象方法。

抽象类只能使用单继承,extends后只有一个直接超类名;

接口实现了多重继承,extends后是直接超接口名列表。

抽象类用extends来派生子类;接口还需用implements来实现(派生子类)。

一个类只能继承一个直接超类(可以是抽象类);但一个类可同时实现多个接口。

相同处:都是通过对抽象方法的覆盖来定义方法体。都不能直接创建对象。

1.接口可以通过关键字extends继承其他接口

抽象类可以含有非抽象方法,提高代码可重用性;

接口只能含有抽象方法。 子接口的派生类,如果不是抽象类的话,不仅需实现子接口的抽象方法,而且需实现继承来的抽象方法。 接口可以同时继承多个接口。

1.内部类的概念 在一个类内部定义的类称为内部类(或称嵌套类)。

把内部类所在的类称为外部类。最外层的类称为顶层类

内部类是类的一个实例成员

内部类在方法中

内部类始终得重点看,还是有一点不太懂

还有220-15v的适配器代码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值