简单继承例子:java

通用类,来继承出圆和矩形。

package circle;

public class Geometric {
	private String color="white";
	private boolean filled;
	private java.util.Date dateCreated;
	public Geometric(){
		dateCreated=new java.util.Date();
	}

	public Geometric(String color,boolean filled){
		dateCreated=new java.util.Date();
		this.filled=filled;
		this.color=color;
	}
	public java.util.Date getDateCreated()
	{
		return dateCreated;
	}
	public String getColor()
	{
		return color;
	}

	public void setColor(String color)
	{
		this.color=color;
	}
	public boolean isFilled()
	{
		return filled;
	}

	public void setFilled(boolean filled)
	{
		this.filled=filled;
	}
	public String toString()
	{
		return "created on"+dateCreated+"\ncolor:"+color+"and filled "+filled;
	}
}

package circle;
import java.util.*;

public class Circle extends Geometric{
	private double radius;
	public Circle()
	{}
	public Circle(double radius)
	{
		this.radius=radius;
	}
	public Circle(double radius,String color,boolean filled)
	{
		this.radius=radius;
		setColor(color);
		setFilled(filled);
	}
	public double getRadius()
	{
		return radius;
	}

	public void setRadius(double radius)
	{
		this.radius=radius;
	}

	public double getArea()
	{
		return Math.PI*radius*radius;
	}
}

package circle;

public class Rectangle extends Geometric {
	private double width;
	private double height;

	public Rectangle(){

	}

	public Rectangle(double width,double height)
	{
		this.width=width;
		this.height=height;
	}
	public Rectangle(double width,double height,String color,boolean filled)
	{
		this.width=width;
		this.height=height;
		setColor(color);
		setFilled(filled);
	}
	public double getWidth()
	{
		return width;
	}
	public void setWidth(double width)
	{
		this.width=width;
	}

	public double getHeight()
	{
		return height;
	}
	public void setHeight(double height)
	{
		this.height=height;
	}
	public double getArea()
	{
		return width*height;
	}
	public double getPerimeter()
	{
		return 2*(width+height);
	}
}

package circle;

public class main {

	public static void main(String[] args) {

		/**
		Geometric g1=new Geometric();
		g1.setFilled(true);

		Geometric g2=new Geometric("black",false);

		System.out.print(g1.toString());
		System.out.print(g2.toString());
		*/
		Circle c1=new Circle();
		c1.setRadius(1.0);
		System.out.println(c1.getArea());

		Circle c2=new Circle(2.0,"red",true);
		System.out.println(c2.getArea());

		Rectangle r1=new Rectangle();
		System.out.println(r1.getArea());

		Rectangle r2=new Rectangle(1.0,2.0);
		System.out.println(r2.getArea());
	}

}

java中有两个包时,如果在一个包中使用其他包的类,可导入,import.包名.类名;即可方便使用。

重载方法意味着可以定义多个同名的方法,但这些方法具有不同的签名。

覆盖方法意味着为子类中的方法提供一个全新的实现。具体例子如下:

//类A的方法P覆盖了在类B中定义的同一个方法。
public class Test{
	public static void main(String[] args){
		A a=new A();
		a.p(10);
		a.p(10.0);
	}
}
class B{
	public void p(double i){
		System.out.println(i*2);
	}
}
class A extends B{
	public void p(double i){
		System.out.println(i);
	}
}
//类B有两个重载方法P(double i)和P(int i),类B的p(double i)方法被继承。
public class Test{
	public static void main(String[] args){
		A a=new A();
		a.p(10);
		a.p(10.0);
	}
}
class B{
	public void p(double i){
		System.out.println(i*2);
	}
}
class A extends B{
	public void p(int i){
		System.out.println(i);
	}
}
时间: 2024-10-04 22:15:31

简单继承例子:java的相关文章

Java 多线程编程两个简单的例子

/** * @author gao */ package gao.org; public class RunnableDemo implements Runnable{ @Override public void run() { // TODO Auto-generated method stub for(int i=0;i<10;i++){ System.out.println("新线程输出:"+i); } } public static void main(String []

实现Java简单继承

面向对象练习-简单继承 一.完成教师类的创建 说明: id 代表身份证号 name 表示姓名 birth 表示出生日期 title 表示职称(讲师,副教授,教授等) 二.完成学生类的创建 说明: major 代表专业 三.编写主类测试 四.使用继承的方法来实现类之间的关系设计. 代码实现: 1 class Person{ 2 String id,name,birth; 3 public Person() { 4 } 5 public Person(String id,String name,St

javaweb简单登陆例子

JSP+Servlet+JavaBean简单程序例子——用户名密码登陆,摘自<Tomcat&JavaWeb 技术手册>,亲测可用. IDE环境:MyEclipse10 1.建立Web Project,命名为Login_test.创建userLogn表: create table userLogin( user_name varchar(10) not null, user_pwd varchar(10) not null, constraint user_pk primary key

Android中关于JNI 的学习(零)简单的例子,简单地入门

Android中JNI的作用,就是让Java能够去调用由C/C++实现的代码,为了实现这个功能,需要用到Anrdoid提供的NDK工具包,在这里不讲如何配置了,好麻烦,配置了好久... 本质上,Java去调用C/C++的代码其实就是去调用C/C++提供的方法,所以,第一步,我们要创建一个类,并且定义一个Native方法,如下: JniTest类: public class JniTest { public native String getTestString(); } 可以看到,在这个方法的前

Android中关于JNI 的学习(四)简单的例子,温故而知新

在第零篇文章简单地介绍了JNI编程的模式之后,后面两三篇文章,我们又针对JNI中的一些概念做了一些简单的介绍,也不知道我到底说的清楚没有,但相信很多童鞋跟我一样,在刚开始学习一个东西的时候,入门最好的方式就是一个现成的例子来参考,慢慢研究,再学习概念,再回过来研究代码,加深印象,从而开始慢慢掌握. 今天我们就再来做一个小Demo,这个例子会比前面稍微复杂一点,但是如果阅读过前面几篇文章的话,理解起来也还是很简单的.很多东西就是这样,未知的时候很可怕,理解了就很简单了. 1)我们首先定义一个Jav

【Python】一个简单的例子

问题描述: Python基础篇 参考资料: (1)http://www.cnblogs.com/octobershiner/archive/2012/12/04/2801670.html (2)http://www.cnblogs.com/itech/archive/2010/06/20/1760345.html 例子: 求解Fibonacci glb_var.py gl_count=1 path.py # coding:utf-8 ''' Created on 2014-4-28 @autho

Freemarker 最简单的例子程序

首先导入包,freemarker.jar 下载地址: freemarker-2.3.18.tar.gz http://cdnetworks-kr-1.dl.sourceforge.net/project/freemarker/freemarker/2.3.18/freemarker-2.3.18.tar.gz 当然如果是Maven项目,可以从仓库里面下载,这里不赘述; 1.通过String来创建模版对象,并执行插值处理 import freemarker.template.Template; i

javascript 面向对象写法的简单小例子,方面以后参考

面向对象写法的简单小例子,也即是一个小模板,方便以后拿来参考,如果有误,请各位大神多多指点.思想:主要给#box添加颜色和添加内容,一个方法是添加颜色,另一个方法是添加内容,然后编写的面向对象写法. <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title></title> </head> <st

JNI 环境以及简单的例子

1.先在eclipse官网下载最新版eclipse,我现在用的是eclipse luna 2.在eclipse中安装CDT插件(我的eclipse自带,没有这一步) 3.下载minGW,安装. 4.在系统环境变量设置minGW的变量. 5. 6.在cmd中输入gcc -v 7.出现以下画面成功 8. 9.新建java项目 10. 11.下面cmd 12. 13.生成class文件 14.生成h文件 15. 16. 17. 18.新建c文件 19.这步我是直接去目录下新建的 20. 21. 22.