java基础09- 抽象类
2021-04-18 10:27
标签:常量 抽象类 query oid void 子类 关键字 override nts abstract修饰可以用来修饰方法也可以修饰类,如果修饰方法,该方法就是抽象方法;如果修饰类,该类就是抽象类。 抽象类中可以没有抽象方法,但是抽象方法的类一定要声明为抽象类。 抽象类,不能用new关键字来创建对象,它是用来让子类继承的。 抽象方法,只有方法的声明,没有方法的实现,它是来让子类实现的。 子类继承抽象类,就必须要实现抽象类没有实现的抽象方法,否则该类也要声明为抽象类。 例如下面例子 关键字 interface 利用接口可以间接实现多继承 implements 接口中的所有定义的方法其实都是抽象的 public abstract 接口中定义的变量一定是常量(不常用) 比如我们定义了Person接口和Teacher接口 在一般类里要实现接口就要实现接口中的所有方法 java基础09- 抽象类 标签:常量 抽象类 query oid void 子类 关键字 override nts 原文地址:https://www.cnblogs.com/mjjh/p/13295658.html抽象类
package com.mjh.oop.demo06;
/**
* abstract 抽象类 extends :单继承 接口可以实现多继承
* 抽象方法必须在抽象类里,但抽象类里面可以普通方法
*/
public abstract class Abstract {
//有人帮我们实现
// abstract 抽象方法 只有方法名,没有方法体
public abstract void aaa();
public void ss(){};
}
package com.mjh.oop.demo06;
/**
* 一般的类要实现抽象方法,而且要重写抽象类中的抽象方法,否则这个一般类就要变为抽象类
*子类可以不用重写抽象类里的一般方法
*/
public class Student extends Abstract {
@Override
public void aaa() {
}
public static void main(String[] args) {
// new Abstract();//不能用new关键字创建对象,它由子类实现
Student s=new Student();
s.aaa();
s.ss();
}
}
接口
package com.mjh.oop.demo06;
public interface Person {
//常量 public static final
int AGE=66;
/**
* 接口的所有定义其实都是抽象的 public abstract
*/
void add();
void delete(String name);
void update(String name);
void query(String name);
}
package com.mjh.oop.demo06;
public interface Teacher {
void teach();
}
package com.mjh.oop.demo06;
/**
* 抽象类:extends
* 类 可以实现接口,implements接口
* 实现了接口的类,就需要重写接口中的方法
* 利用接口来间接实现多继承
*/
public class PersonImpl implements Person,Teacher{
@Override
public void add() {
}
@Override
public void delete(String name) {
}
@Override
public void update(String name) {
}
@Override
public void query(String name) {
}
@Override
public void teach() {
}
}