java基础语法介绍
程序员文章站
2022-04-15 19:11:22
抽象类当一个方法没有方法主体并被abstract修饰,则称这个方法为抽象方法当一个类中有抽象方法,那么这个类也是抽象类,,抽象类可以没有抽象方法抽象类不能实例化。如:public abstract class Animal{//抽象类Animalpublic abstract void sleep();//抽象方法sleep,让子类实现。}当子类继承抽象父类时,必须实现父类的所有抽象方法,否则子类也是抽象的。举个例子public abstract clas...
抽象类
当一个方法没有方法主体并被abstract修饰,则称这个方法为抽象方法
当一个类中有抽象方法,那么这个类也是抽象类,,抽象类可以没有抽象方法
抽象类不能实例化。
如:
public abstract class Animal{ //抽象类Animal
public abstract void sleep(); //抽象方法sleep,让子类实现。
}
当子类继承抽象父类时,必须实现父类的所有抽象方法,否则子类也是抽象的。
举个例子
public abstract class Animal{
public abstract void sleep();
}
class Tiger extends Animal{
public void sleep(){
System.out.println("趴着睡觉");}
}
class Bat extends Animal{
public void sleep(){
System.out.println("挂着睡觉");}
}
public static void main(String[] args){
//Animal animal=new Animal(); 编译错误,不能实例化抽象类
Animal animal=new Tiger();
animal.sleep; //打印趴着睡觉
Animal animal1=new Bat();
animal1.sleep //打印挂着睡觉
}
接口
接口是一种标准,是一种规范。
接口是最高的抽象,当中的所有方法都是抽象方法,默认是public abstract可省略。
接口中出现的变量量都是是常量,默认为public static final,可以省略。
java语言是单根继承,但允许多实现。
接口可以继承接口。使用extends关键字。
public Interface Usb{
void transData(String data);
//public abstract void transData(String data);
void charge();
String STR="banda";
}
实现一个接口要实现接口中所有的方法,否则这个类仍然是抽象类
public class Xiaomi implements Usb{
public void transData(String data){
......
}
public void charge{
......
}
}
多态
父类的一种类型在不同子类中有不同的表现形态(即重写)之前的父类类型指向子类对象就是多
态的体现。还有一种观点是在一个类内部,一个行为有不同的表现,也是多态的体现(即重载)目前
没有定论。
举个例子
public abstract class Fruit{}
class Apple extends Fruit{
public String toString(){
return "苹果";
}
}
class Orange extends Fruit{
public String toString(){
return "橘子";
}
}
class Juicer{
public void juicer(fruit){
System.out.println("榨"+fruit+"汁");
}
public static void main(String[] args){
Juicer juicer=new Juicer();
Fruit fruit=new Apple();
juicer.juicer(fruit); //打印榨苹果汁
//Fruit fruit=new Orange();
//Juicer.juicer(fruit); //打印榨橘子汁
}
}
向上,向下转型
向上转型是自动的
Tiger t1=new Tiger();
Animal a1=t1;
向下转型需要强制类型转换
Animal a2=new Tiger();
Tiger t2=(Tiger)a2;
本文地址:https://blog.csdn.net/LeCoe/article/details/107483839
上一篇: Java 字符串判空
下一篇: 《JAVA 基础: 类的属性与方法》