---------------------android培训、java培训、java学习型技术博客、期待与您交流! -------------------
今天是在传智上课的第十天了,今天讲的内容主要是接口、Object和内部类,首先总结下接口。
一、接口具有如下几个特点:
1、接口是程序功能的扩展;
2、接口是对外暴露的规则;
3、类与接口之间是实现关系,类可以在继承一个类的时候,实现多个接口;
为了能让更好的说明,举下面这个简单的例子来说明下:
class Father { //定义一个父类
}
interface PCI { //定义一个接口
}
interface SoundCard{ //定义一个接口
}
class Demo extends Father implements PCI ,SoundCard {
}//该类在在继承一个类的同时,实现了两个接口
接口的出现,弥补了单继承的局限性。
接口小知识点:
a、接口是抽象方法和常量的集合。
b、接口与接口之间的关第是继承,而不是实现了。
c、接口中成员都是public。
d、接口是不可以创建对象的,因为有抽象方法,需要被子类实现,子类对接口中的抽象方法,全都覆盖后,子类才可以实例化,否则子类是一个抽象类。
e、接口与接口之间存在多继承。
f、接口引用指向自己的子类对象。
h、接口中的成员都有固定修饰符,常量为public static final,方法为public abstract,在编译时期,可以省略,JAVA虚拟机会帮助我们加上。
二、Object类
Object类是所有类的父类,如果在类的声明中未使用extends关键字来指定父类,则默认继承自Object类。
这个类中定义了很多方法,在开发过程中,需要重写这些方法,如toString()、hashCode()、equals(Object obj)这些方法,在开发,都会进行重写。
三、内部类
当描述事物时,事物的内部还有事物,该事物用内部类来描述,因为内部事物可以访问外部事物内容。
内部类是指定在在外部类成员位置的类,如下面这段简单的代码。
class Demo { //外部类
class Test{ //内部类
}
}
这是定义内部类最简单的方法。
内部类定义在外部类的成员位置,可以被public、static等修饰符修饰。
今天只讲了静态内部类和成员内部类,这里只做这两个的总结。
成员内部类,如果要访问内部的属性和方法,必须创建内部类对象,格式如下:
外部类名.内部类名 标识符 = new 外部类名().new 内部类名();
访问规则如下:
1、内部类可以直接访问外部类的成员,包括私有;
2、访问自己定义好的属性,可以直接访问,也可以通过this关键字来访问;
3、如果内部类和外部类存在同名属性,可以通过外部类名.this.外部类成员变量名的方式来访问。
静态内部类
用static修饰的内部类,称为静态内部类。
如下面这段简单的代码
class Demo{
static int age = 10;
static class Test{
System.out.println(age);
}
}
静态内部类只能访问外部类中的静态属性和方法,不能访问非静态的,这类在开发时用的较少,这里就不多做介绍了。