JAVA基础
来源:互联网 发布:网络gb是什么意思啊 编辑:程序博客网 时间:2024/06/05 19:02
/** * 抽象类 * * @author LXL 2017年5月8日 */// 父类public abstract class Person {/** * 抽象类: 专门用来当做父类, 含有抽象方法, 用abstract关键字来修饰的类 * 含有抽象方法的类必须是抽象类. * 抽象类不能被实例化. 即不能直接用new关键字去产生对象. * 抽象类的子类必须覆盖所有的抽象方法后才能被实例化, 否则这个子类还是个抽象类 * 抽象类和普通类一样, 有构造方法,一般方法,属性. 还可以有一些抽象方法 * 抽象类中声明构造方法后, 在子类中必须对其明确调用. *//** * 抽象方法: 只声明而未实现的方法, 用abstract关键字声明的方法 *//** * 注意 : 构造方法、私有方法、final类型的方法 不能声明为抽象方法 * 因为 : 构造方法只能被声明为 public protect private * 抽象方法只能被 public protect 修饰 * 静态方法和final方法不能被声明为抽象方法理由同上 */String name = "aaa"; // 属性public abstract String talk(); // 抽象类}
// 子类public class Student extends Person {/** * 抽象类中声明构造方法后, 在子类中必须对其明确调用. */@Overridepublic String talk() {return "姓名:" + this.name;}}
// 主函数public class TestAbstract {public static void main(String[] args) {Student student = new Student();System.out.println(student.talk()); // aaa}}
第2种 :
// 父类public abstract class Person2 {String name = "bbb"; // 属性public abstract String talk(); // 抽象类// 可以声明个构造方法public Person2(String name) {this.name = name;}}
// 子类public class Student2 extends Person2 {public Student2(String name) {super(name);}/** * 抽象类中声明构造方法后, 在子类中必须对其明确调用. */@Overridepublic String talk() {return "2 - 姓名:" + this.name;}}
// 主函数public class TestAbstract2 {public static void main(String[] args) {Student2 s = new Student2("test2");System.out.println(s.talk()); // 2 - 姓名:test2}}
第3种 :
public abstract class Person3 {String name = "ccc";// 可以有一般方法public void method(String name){System.out.println("Person3 - method(String name)");}public abstract String talk();}
public class Student3 extends Person3 {@Overridepublic String talk() {return "Student3 - talk() - 姓名:" + this.name;}}
// 主函数public class TestAbstract3 {public static void main(String[] args) {Student3 s = new Student3();System.out.println(s.talk()); // Student3 - talk() - 姓名:ccc}}
0 0
- Java基础01:基础
- Java基础:基础加强
- Java基础-基础
- java基础的基础
- JAVA基础---基础常识
- Java基础:基础加强
- [Java 基础]基础语法
- Java基础
- java基础
- java 基础
- java基础
- Java基础
- Java基础
- Java基础
- JAVA基础
- JAVA基础
- JAVA基础
- java基础
- Hadoop + HBase + Hive 完全分布式部署笔记
- 欢迎使用CSDN-markdown编辑器
- jquery插件之一 鼠标经过插件
- JS中的this指向
- 高德/百度地图定位
- JAVA基础
- 求二进制数中1的个数
- jsp 用户名、密码验证
- 了解和深入行业/APP分类
- Linux CentOS 7 & Apache Tomcat 7 安装与配置
- 集合foreach循环和三种迭代的删除
- 题解:分子量(VUa1586)
- Codeforces 723F st-Spanning Tree【贪心Kruskal】
- Dagger2 备忘录