Java基本知识(2)..........2021-11-20

类的继承:

    在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();
	 }

 }

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值