java 二

1,实例方法和类方法的区别

所有在定义类方法和实例方法是有以下规则需要遵循:

-- 在类方法中不能引用实例变量

实例变量的定义类似实例方法,没有用static修饰的变量,实例变量的创建与实例方法的创建相同,也是在类的对象创建时完成,所以在类方法中是不能引用实例变量的,因为这个时候实例变量还没有分配内存地址。

-- 在类方法中不能使用super和this关键字

这是因为super和this都指向的是父类和本类的对象,而在类方法中调用的时候,这些指代的对象有可能都还没有创建。

-- 类方法中不能调用实例方法

原因同1。

与类方法相比,实例方法的定义就没有什么限制了:

-- 实例方法可以引用类变量和实例变量

-- 实例方法可以使用super和this关键字

-- 实例方法中可以调用类方法

2,重载

java允许在一个类中,多个方法拥有相同的名字,但在名字相同的同时,必须有不同的参数,这就是重载,编译器会根据实际情况挑选出正确的方法,如果编译器找不到匹配的参数或者找出多个可能的匹配就会产生编译时错误,这个过程被称为重载的解析 

3,接口

Java不支持多重继承,即一个类只能有一个父类
  为了克服单继承的缺点,Java使用了接口,一个类可以实现多个接口
  接口是抽象方法和常量值定义的集合,是一种特殊的抽象类
接口中只包含常量和方法的定义,没有变量和方法的实现
接口中的所有方法都是抽象的
接口中成员的访问类型都是public
接口中的变量默认使用public static final标识(可以在定义的时候不加此修饰,系统默认)
  接口通过使用关键字interface来声明
格式:interface 接口的名字
  接口体:
接口体中包含常量定义和方法定义两部分
接口体中只进行方法的声明,不允许提供方法的实现
方法的定义没有方法体,且用分号结尾

在类中实现接口的方法时,方法的名字、返回类型、参数个数及类型必须与接口中的完全一致
  接口中的方法默认是public 的,所有类在实现接口方法时,一定要用public来修饰
  如果接口的方法的返回类型不是void,则在类中实现该接口方法时,方法体至少要有一个return语句
  如果是void类型,类体除了两个大括号以外,可以没有任何语句
  Java中提供的接口都在相应的包中,通过引入包可以使用Java提供的接口,也可以自己定义接口
一个Java源文件就是由类和接口组成的
  接口可以增加很多类都需要实现的功能,不同的类可使用相同的接口,同一个类也可实现多个接口
  接口只关心功能,并不关心功能的具体实现,使用相同接口的类不一定有继承关系
  public接口:接口声明时,关键字interface前面加上public关键字,可以被任何一个类使用

原文地址:https://www.cnblogs.com/huxinga/p/7061916.html