Java 抽象方法学习小结
2015-11-29 09:31
260 查看
class A
{
//如果写成 void f();
//需要定义为抽象类
//否则,给它加上方法体,如下
public void f(){};
// 只给出方法头,不给出方法的内部实现代码
// 这样的方法称为抽象方法
// 比如 void f();
// 当然 abstract public void f(); 一定是抽想方法
// 加了方法体就不是抽象方法 虽然它里面没有具体代码 默认空代码
}
//抽象类
abstract class B
{
abstract public void g();
//方法体
//虽然不会报错,但是没什么具体意义
void h()
{
System.out.println("Test");
}
//构造方法
B(){}
}
//凡是有抽象方法的类
//都需要声明为抽象类
//class C //error
abstract class C
{
abstract public void i();
//凡是没有方法体的方法必须声明为抽象方法
//否则 必须使用加上方法体
//void k(); //error
// abstract void k(); //right
//void k(){} //right
}
//抽象类中不一定含有抽象方法
abstract class D
{
void h()
{
System.out.println("Test");
}
}
//含抽象方法的一定是抽象类
// 写成 class E 会报错
// 必须添上 abstract
abstract class E
{
abstract public void l();
}
class TestAbsClass_1
{
public static void main(String[] args)
{
System.out.println("加油,一年两跳!");
//B bb = new B(); //抽象类无法实例化方法
//bb.h(); //调用抽象类的具体方法也是无稽之谈
}
}
{
//如果写成 void f();
//需要定义为抽象类
//否则,给它加上方法体,如下
public void f(){};
// 只给出方法头,不给出方法的内部实现代码
// 这样的方法称为抽象方法
// 比如 void f();
// 当然 abstract public void f(); 一定是抽想方法
// 加了方法体就不是抽象方法 虽然它里面没有具体代码 默认空代码
}
//抽象类
abstract class B
{
abstract public void g();
//方法体
//虽然不会报错,但是没什么具体意义
void h()
{
System.out.println("Test");
}
//构造方法
B(){}
}
//凡是有抽象方法的类
//都需要声明为抽象类
//class C //error
abstract class C
{
abstract public void i();
//凡是没有方法体的方法必须声明为抽象方法
//否则 必须使用加上方法体
//void k(); //error
// abstract void k(); //right
//void k(){} //right
}
//抽象类中不一定含有抽象方法
abstract class D
{
void h()
{
System.out.println("Test");
}
}
//含抽象方法的一定是抽象类
// 写成 class E 会报错
// 必须添上 abstract
abstract class E
{
abstract public void l();
}
class TestAbsClass_1
{
public static void main(String[] args)
{
System.out.println("加油,一年两跳!");
//B bb = new B(); //抽象类无法实例化方法
//bb.h(); //调用抽象类的具体方法也是无稽之谈
}
}
相关文章推荐
- Java新手之路——Day02 Hello Java
- Struts2中使用servletresponse直接输出内容到客户端出现:Cannot call sendError() after the response has been committed
- Java集合之Set
- Java基础测试总结
- 深入理解Java的接口和抽象类
- 学习java随笔第三篇:java的基本数据类型姿浊装淄滓赘
- springMVC从上传的Excel文件中读取数据
- java中连接数据库各种技术总汇
- java 二分查找法
- java类中的执行顺序
- java十分钟速懂知识点——NIO
- java十分钟速懂知识点——NIO
- spring源码(2)之解析配置文件原理
- springMVC拦截器使用场景,使用步骤(摘录整理)
- Java日志学习一:Log4j和commons-logging的关系
- java并发之Semaphore(计数信号量)
- mac下java环境变量配置
- Java中“==”和equal的区别
- Spring-ws提供SOAP服务的注意事项
- 使用JAVA爬取京东商品价格