欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Java基础知识回顾第四篇 - &和&&|方法重写重载|成员变量静态变量|抽象类接口多态

程序员文章站 2022-07-12 14:51:30
...

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)