欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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