类的继承:
在Java中,类的继承是指在一个现有的类的基础上去构建一个新的类,构建出来的新类被称为子类,现有类被称为父类,子类会自动拥有父类所有可继承的属性和方法。
关键字:extends
eg:
class Parent{
String industry;
}
class Children extends Parent{
public void print(){
System.out.println("产业:"+industry);
}
}
public classTest{
public static void main(String[] args){
Children p=new Children();//创建一个孩子类的实例对象
p.industry="卖肉";
p.print();
}
}
super关键字:
当子类重写父类的方法后,子类对象将无法访问父类被重写的方法。因此用super关键字访问弗雷德成员。
可以访问父类的成员变量、成员方法、构造方法。
具体格式:
super.成员变量
super.成员方法([参数1 ,参数2,......])
super.([参数1,参数2,....])
final关键字:
可用于修饰类、变量和方法,它有“无法改变”或者“最终”的含义。
具有以下特征:
final修饰的类不能被继承;
final修饰的方法不能被子类重写;
final修饰的变量时常量,只能被赋值一次。
抽象类和接口
抽象类
当定义一个类时,常常需要定义一些方法来描述该类的形为特征,但有时这些方法的实现方式是无法确定的。例如动物的叫声。则定义方法时不写方法体,不含方法体的方法称为抽象方法。
关键字:abstract
注意事项:包含抽象方法的类必须声明为抽象类,但抽象类可以不包含任何抽象方法。
抽象类不可以被实例化,因为抽象类中可能包含抽象方法,抽象方法没有方法体,不可以被调用,如果像调用抽象类中定义的方法,则需要创建一个子类,在子类中将抽象类的额抽象方法进行实现。
/*
*
*@温柔徐u.
*
*/
//定义父类
abstract class Animal{
abstract void shout();//定义声明抽象方法
}
//定义子类继承父类
class Dog extends Animal{
void shout(){
System.out.println("汪汪");//实现抽象方法
}
}
//定义一个测试类
public class Test {
public Static void main(String[] args){
Dog d=new Dog();//创建一个对象
d.shout();//调用shout方法
}
}
接口
如果一个抽象类中的所有方法都是抽象的,则可以将这个类用另一种方式来定义,即接口。接口是由常量和抽象方法组成的特殊类,是对抽象类的进一步抽象。
关键字:interface
定义接口,用interface关键字来声明。
关键字:implements
定义一个类,使用implements关键字实现接口中所有的方法。
一个类可以在继承另一个类的同时实现多个接口,这些接口在implements子句中用英文逗号隔开。
USB接口程序设计
/**
**
**
**@温柔徐u.
**
**
**/
public interface USB{//定义一个名称为USB的接口
void turnOn();
void turnOff();
}
public class Mouse implements USB{//鼠标类连接USB接口
public void turnOn(){
System.out.println("鼠标启动了");
}
public void turnOff(){
System.out.println("鼠标关闭了");
}
}
/**
**
**
**@温柔徐u.
**
**
**/
public class KeyBoard implements USB{//键盘类连接USB接口
public void turnOn(){
System.out.println("键盘启动了");
}
public void turnOff(){
System.out.println("键盘关闭了");
}
}
/**
**
**
**@温柔徐u.
**
**
**/
public class Computer {//计算机类
private USB[] usbArr=new USB[4];
public void add(USB usb){
for(int i=0;i<usbArr.length;i++){
if(usbArr[i]==null){
usbArr[i] = usb;
break;
}
}
}
public void powerOn(){
for (int i=0;i<usbArr.length;i++){
if(usbArr[i]!=null){
usbArr[i].turnOn();
}
}
System.out.println("计算机开机成功");
}
public void powerOff(){
for(int i=0;i<usbArr.length;i++){
if(usbArr[i] !=null){
usbArr[i].turnOff();
}
}
System.out.println("计算机关机成功");
}
}
/**
**
**
**@温柔徐u.
**
**
**/
class Tast {//测试类
public static void main(String[] args){
Computer c=new Computer();
c.add(new Mouse());
c.add(new Mic());
c.add(new KeyBoard());
c.powerOn();
System.out.println();
c.powerOff();
}
}