JAVA:定义类与子类的表示下面关系,父类POINT(点) 子类Rectangle
答案:4 悬赏:40 手机版
解决时间 2021-01-26 04:44
- 提问者网友:我没有何以琛的痴心不悔
- 2021-01-25 15:24
JAVA:定义类与子类的表示下面关系,父类POINT(点) 子类Rectangle(属性左上角,长和宽)子类cube的代码,还有测试函数 我没时间了!!
最佳答案
- 五星知识达人网友:底特律间谍
- 2021-01-25 16:53
class Base{
Base(){
}
public void m(){
}
}
class Sub extends Base{
Sub(){
super(); //调用父类的构造方法
super.m();//调用父类的方法
}
public void n(){
}
public static void main(String[] args){
Sub s = new Sub();
s.m();//这里应该理解为:
子类继承了父类,那么这个m()应该属于子类的了!,所以我们在重写的时候要覆盖父类的方法! 那么这里算调用子类自己的方法了
Base b = new Base();
b.m();//父类对象调用自己方法
//b.n();编译错误,因为子类的方法对父类不可见!
}
}
父类调用子类的方法 只能是在 父类里构造子类的对象,通过对象来调用!
如果子类的是静态方法,那么直接拿类调用!
子类调用父类的方法 用 super.methodName(); 只能在非静态方法
里这样调用
补充:
就是 在 Base 类里
Sub s = new Sub();
s.n();
Base(){
}
public void m(){
}
}
class Sub extends Base{
Sub(){
super(); //调用父类的构造方法
super.m();//调用父类的方法
}
public void n(){
}
public static void main(String[] args){
Sub s = new Sub();
s.m();//这里应该理解为:
子类继承了父类,那么这个m()应该属于子类的了!,所以我们在重写的时候要覆盖父类的方法! 那么这里算调用子类自己的方法了
Base b = new Base();
b.m();//父类对象调用自己方法
//b.n();编译错误,因为子类的方法对父类不可见!
}
}
父类调用子类的方法 只能是在 父类里构造子类的对象,通过对象来调用!
如果子类的是静态方法,那么直接拿类调用!
子类调用父类的方法 用 super.methodName(); 只能在非静态方法
里这样调用
补充:
就是 在 Base 类里
Sub s = new Sub();
s.n();
全部回答
- 1楼网友:北城痞子
- 2021-01-25 19:47
public class TestClass {
public static void main(String[] args) {
Point p = new Point();
Rectangle r = new Rectangle();
Cube c = new Cube();
r.setLen("30");
System.out.println(r.getLen());
}
}
class Point {
public Point() {
System.out.println("Point Class");
}
}
class Rectangle extends Point {
private String leftTri;
private String len;
private String width;
public Rectangle() {
System.out.println("Rectangle Class");
}
public String getLeftTri() {
return leftTri;
}
public void setLeftTri(String leftTri) {
this.leftTri = leftTri;
}
public String getLen() {
return len;
}
public void setLen(String len) {
this.len = len;
}
public String getWidth() {
return width;
}
public void setWidth(String width) {
this.width = width;
}
}
class Cube extends Point {
public Cube() {
System.out.println("Cube Class");
}
}
- 2楼网友:摆渡翁
- 2021-01-25 18:34
public class RectangleDemo//父类
{
protected int width;
protected int height;
public RectangleDemo()
{
}
public RectangleDemo(int width,int height)
{
this.width=width;
this.height=height;
}
public void setWidth(int width)
{
this.width=width;
}
public void setHeight(int height)
{
this.height=height;
}
public int getWidth()
{
return width;
}
public int getHeight()
{
return height;
}
public int getArea()
{
return width*height;
}
}
public class Cubic extends RectangleDemo//子类
{
protected int length;
public Cubic()
{
super();
}
public Cubic(int width,int height,int length)
{
super(width,height);
this.length=length;
}
public void setLength(int length)
{
this.length=length;
}
public int getLength()
{
return length;
}
public int getCubic()
{
//return width*height*length;
return super.getArea()*length;//调用父类的方法getArea()
}
}
public class CubicDemo//测试函数
{
public static void main(String[] args){
Cubic cub1=new Cubic();
Cubic cub2=new Cubic(2,3,4);
System.out.printf("%d,%d,%d \n",cub1.getWidth(),cub1.getHeight(),cub1.getLength());
System.out.printf("%d,%d,%d \n",cub2.getWidth(),cub2.getHeight(),cub2.getLength());
System.out.println(cub2.getCubic());
cub2.width=5;//直接调用父类的声明为protected的域成员
System.out.printf("%d,%d,%d \n",cub2.getWidth(),cub2.getHeight(),cub2.getLength());
System.out.println(cub2.getCubic());
}
}
- 3楼网友:洒脱疯子
- 2021-01-25 17:03
//Point.java
public class Point {
private int x;
private int y;
public int getX() {
return x;
}
public void setX(int x) {
this.x = x;
}
public int getY() {
return y;
}
public void setY(int y) {
this.y = y;
}
public Point(int x, int y) {
this.x=x;
this.y=y;
}
}
//Rectangle.java
public class Rectangle extends Point{
private int x;
private int y;
private int width;
private int height;
public Rectangle(int x, int y) {
super(x, y);
// TODO Auto-generated constructor stub
}
public Rectangle(int x2, int y2, int width, int height) {
super(x2, y2);
this.x = x2;
this.y = y2;
this.width = width;
this.height = height;
}
public int getWidth() {
return width;
}
public void setWidth(int width) {
this.width = width;
}
public int getHeight() {
return height;
}
public void setHeight(int height) {
this.height = height;
}
}
//Cube.java
public class Cube extends Point{
private int x;
private int y;
private int z;
private int length;
private int width;
private int heigth;
public Cube(int x, int y, int z, int length, int width,
int heigth) {
super(x, y);
x = x;
y = y;
this.z = z;
this.length = length;
this.width = width;
this.heigth = heigth;
}
public int getLength() {
return length;
}
public void setLength(int length) {
this.length = length;
}
public int getWidth() {
return width;
}
public void setWidth(int width) {
this.width = width;
}
public int getHeigth() {
return heigth;
}
public void setHeigth(int heigth) {
this.heigth = heigth;
}
public int getZ() {
return z;
}
public void setZ(int z) {
this.z = z;
}
}
//测试类T.java
import java.awt.*;
import java.awt.event.*;
public class T{
public static void main(String args[]) {
Point p = new Point(1,2);
Rectangle r = new Rectangle(5,5,200,300);
Cube c = new Cube(10,10,10,15,10,25);
System.out.print("长方形的位置、长、宽分别为:");
System.out.println("("+r.getX()+","+r.getY()+")、"+r.getWidth()+"、"+r.getHeight());
System.out.print("立方体的位置、长、宽、高分别为:");
System.out.println("("+c.getX()+","+c.getY()+","+c.getZ()+")、"+c.getLength()+"、"+c.getWidth()+"、"+c.getHeigth());
}
}
您的进步是我最大的动力,如果你觉得我回答的合理的话,请给我多加分。谢谢,如果不明白的话,大家相互学习啊!
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯