Java基础知识回顾第四篇 - &和&&|方法重写重载|成员变量静态变量|抽象类接口多态
1、&和&&的区别
作为逻辑运算符:&(不管左边是什么,右边都参与运算),&&(如果左边为false,右边则不参与运算,短路)
另外&可作为位运算符。
2、方法重写(override)和方法重载(overloaded)
方法重载:发生在同一个类当中,方法名相同,参数个数、参数类型、参数顺序不同,和返回值类型无关;
public class OverloadTest {
public void createUser(String name){
}
public void createUser(String name, int age){
}
//编译报错
//public int createUser(String name, int age){
//return 0;
//}
public void createUser(int age,String name){
}
public void CreateUser(String name, char sex){
}
}
方法重写:发生在有父子类关系的类中,子类重写了父类的方法(相同的定义);
3、成员变量和静态变量的区别
成员变量所属于对象,所以又叫实例变量;静态变量所属于类,所以又叫类变量;
成员变量存在于堆内存中;静态变量存在于方法区中;
成员变量随着对象的创建而存在,随着对象的回收而消失;静态变量随着类的加载而存在,随着类的消失而消失;
成员变量只能被对象调用;静态变量能被对象调用,也能被类调用;
成员变量是对象的特有数据;静态变量是对象的共享数据;
4、抽象类和接口
何为抽象类?类用abstract修饰,不能创建对象。抽象类中不一定有抽象方法,但是含有抽象方法的类一定是抽象类。
何为接口?一些方法特征的集合,抽象类的特例,使用interface关键字。
抽象类和接口的区别:
a、抽象类只能被继承,而且只能是单继承;接口可以被实现,而且是多实现;
b、抽象类中可以定义非抽象方法,子类可以通过继承直接使用;接口中都是抽象方法,需要子类去实现;
c、抽象类使用的是is a关系,接口使用的是like a关系;
d、抽象类中的成员修饰符可以自己定义,接口中的成员修饰符是固定的,都是public;
5、多态
多态存在的三个必要条件:要有继承;要有重写;父类引用指向子类对象。
多态的实现方式:接口实现,继承父类进行方法重写,同一个类中进行方法重载。
方法调用的优先级问题(由高到低):this.show(O)、super.show(O)、this.show((super)O)、super.show((super)O)
上一篇: Java中的方法调用
下一篇: 11、Request&Response