1. java程序继承
packageextend;
/**
*圆类
*@author枫雅
*2019年3月21日
*/
publicclassCircle{
privatedoubler;
publicfinalstaticdoublePI=3.14;
publicCircle(doubler){
this.r=r;
}
publicdoubleCircumference(doubler){
return2*PI*r;
}
publicdoubleArea(doubler){
returnPI*r*r;
}
}
packageextend;
/**
*圆柱类,继承自圆类
*@author枫雅
*2019年3月21日
*/
{
privatedoubleh;
publicCylinder(doubler,doubleh){
super(r);
this.h=h;
}
publicdoubleCeArea(doubler,doubleh){
returnsuper.Circumference(r)*h;
}
publicdoubleVolume(doubler,doubleh){
returnsuper.Area(r)*h;
}
}
packageextend;
/**
*圆锥类,继承自圆柱类
*@author枫雅
*2019年3月21日
*/
{
publicCone(doubler,doubleh){
super(r,h);
}
publicdoubleCeArea(doubler,doubleh){
returnsuper.CeArea(r,h)/2;
}
publicdoubleVolume(doubler,doubleh){
returnsuper.Volume(r,h)/3;
}
}
packageextend;
/**
*测试类
*@author枫雅
*2019年3月21日
*/
publicclassTest{
publicstaticvoidmain(String[]args){
doubler=3;
doubleh=2;
Circlecircle=newCircle(r);
System.out.println("半径为:"+r+"圆的周长为:"+circle.Circumference(r));
System.out.println("半径为:"+r+"圆的面积为:"+circle.Area(r));
Cylindercylinder=newCylinder(3,2);
System.out.println("底部半径为:"+r+",高为:"+h+"圆柱的侧面积为:"+cylinder.CeArea(r,h));
System.out.println("底部半径为:"+r+",高为:"+h+"圆柱的体积为:"+cylinder.Volume(r,h));
Conecone=newCone(3,2);
System.out.println("底部半径为:"+r+",高为:"+h+"圆锥的侧面积为:"+cone.CeArea(r,h));
System.out.println("底部半径为:"+r+",高为:"+h+"圆锥的体积为:"+cone.Volume(r,h));
}
}
2. 如何在Java中使用子类继承父类的父类,举个例子看看,谢谢
class Animal{//动物类
public String name="haha";//名字
public void say() {//说话方法
System.out.println(name+" say hi");
}
}
class Cat extends Animal{//猫类继承了动物类
}
public class Test {
public static void main(String[] args) {
Cat cat=new Cat();//实例化一个猫
cat.say();//由于猫继承了动物,所以继承了他所有非private的属性和方法
}
}
3. 求java中几个继承与多态实例,并要有相应的题目!给我参考和练习下,本人新手,不宜难的
JAVA中一个抽象类抽象方法继承与对象多态性的例子
面向对象的三大特点:封装,继承,多态。
在JAVA中我们总是尽可能地让一个类继承一个抽象类,这样大大的节省代码方便开发。
一个继承与对象多态性的例子:声明一个Person 类。Student 类,Worker类分别继承Person。
人有姓别,年龄,学生有特有的成绩属性,工人有特有的工资。
所有属性都用private封装
abstract class Person{
private String name;
private int age;
public Person(String name,int age){
this.setName(name);
this.setAge(age);
}
public void setName(String name){
this.name=name;
}
public void setAge(int age){
this.age=age;
}
public String getName(){
return this.name;
}
public int getAge(){
return this.age;
}
public void say(){
System.out.println(this.getContent());
}
public abstract String getContent();
}
class Worker extends Person{
private float salary;
public Worker(String name,int age,float salary){
super(name,age);
this.setSalary(salary);
}
public void setSalary(float salary){
this.salary=salary;
}
public float getSalary(){
return this.salary;
}
public String getContent(){
return "工人信息------>姓名:"+super.getName()+",年龄:"+super.getAge()+",工资:"+this.getSalary();
}
}
class Student extends Person{
private float score;
public Student(String name,int age,float score){
super(name,age);
this.setScore(score);
}
public void setScore(float score){
this.score=score;
}
public float getScore(){
return this.score;
}
public String getContent(){
return "学生信息------>姓名:"+super.getName()+", 年龄:"+super.getAge()+",成绩:"+this.getScore();
}
}
public class OODemo11{
public static void main(String []args){
Person p=null;
p=new Student("张三",23,90);
p.say();
p=new Worker("李师傅",26,3000);
p.say();
}
}
运行结果:
学生信息------>姓名:张三, 年龄:23,成绩:90.0
工人信息------>姓名:李师傅,年龄:26,工资:3000.0
4. 简单的java 编程题 关于继承
package javaapplication4;
public class Rect {
protected int length;/////这个地方不能变成私有属性,因为后面继承的类也需要继承它。
protected int width;
public Rect(int length,int width)
{
this.length=length;
this.width=width;
}
public void setLength(int length)
{this.length=length;<br> }
public void setWidth(int width)
{this.width=width;<br> }
public int getLength()
{return length;<br> }
public int getWidth()
{return width;<br> }
public int getArea()
{return length*width;<br> }
public int getCycle()
{return (length+width)*2;<br> }}
////////////////////////////////////////////////////////////////////////////////////////////////////////
package javaapplication4;
public class PlainRect extends Rect
{///此类并未继承父类的长宽属性,所以父类的设计是不合理的。应将其属性改为protected.
protected int startX,startY;
public PlainRect(int length,int width,int startx,int starty)
{
super(length,width);
startX=startx;
startY=starty;
}
public PlainRect()
{
super(0,0);
startX=0;
startY=0;
}
public boolean isInside(double x,double y)
{
boolean b=false;
if(x>startX&&x<startX+length)
if(y>startY&&y<startY+width)
b=true;
return b; }}
////////////////////////////////////////////////////////////////////////////////////////////////////////
package javaapplication4;
public class Main {
public static void main(String[] args) {
PlainRect Pr1=new PlainRect(20,10,10,10);
System.out.println("面积为:"+Pr1.getArea());
System.out.println("周长为:"+Pr1.getCycle());
System.out.println("点(25.5,13)"+(Pr1.isInside(25.5, 13)?"在":"不在")+"此方形内");
} }