我给你出一个,已知一个类A 的一个属性 int a = 1,除了修改这句代码我要你打印出a赋值之前的原始值0,提示通过继承可以实现。
❷ Java面向对象问题,为什么很多人说特征是三个继承.封装.多态,而有的人说是四个,还有一个抽象
应该说只有三个
抽象这个东西啊,所有语言都有,就不算Java的特性了
应该说继承.封装.多态是面向对象语言都有的,只是Java是常见语言里面面向对象做得比较彻底的一门语言、也是用C语法完成面向对象反衬出这三个特性比较独特的语言。
❸ 举例说明java面向对象的封装继承多态
封装:向你把所有的方法都写道一个类里面,
继承:动物下面有人,狗,猫等等
多态:有同明的函数,但是函数的参数又不同!
这些是比较简单的理解了!
❹ java面向对象关于继承的问题
Base base=new Child();
这个分为两部分。。Base base这是定义。。base=new Child();这是赋值。。
因为你把base定义为 Base类型。。所以编译器把他当做Base类型。。至于实际类型。。运行的时候才能确定。。所以不能访问Child的属性和方法。。
Child child=new Child();
Base child=new Child();
这个的不同应该明白了撒。。就是你写代码的时候。。编译器把他们看成的类型是不一样的。。
❺ 关于java的继承 面向对象
如果按照你的题意,实现远程,继承战士,是可行的,
如果你说一句也不写,那就需要另外一个类了,另外一个类执行刚才的动作,然后新职业去继承另外那个类,显然这么做,毫无意义!
所以我测试了一下给出以下代码,仅供你参考一下,不足之处还请指点!
/*-----------用中文做命名,是为了好理解,不要被误导-------------*/
publicclassGame
{
publicstaticvoidmain(String[]args)
{
System.out.println(" ==========新职业========== ");
init();
}//初始化!
privatestaticvoidinit()
{
新职业x=new新职业();
x.远程();
x.近战();
}
}
//射手!
interface射手
{
abstractvoid远程();
}
//战士!
class战士
{
void近战()
{
System.out.println("近战攻击!");
}
}
//新职业!
class新职业extends战士implements射手
{
publicvoid远程()
{
System.out.println("远程攻击");
}
}
按照面向对象思想,这些代码一点也没有重复!
还有一种办法,两个接口(远程和战士),
同时去实现这两个接口(远程,和战士)!
也可以用战士接口去继承远程接口,不过这样做,战士已经变的不是纯战士了!!不要这样搞了!
❻ java面向对象继承
package wenwen; public class Wiring { protected double power;//功率 protected double pressure;//额定电压 protected double current;//额定电流 protected String electricity;//直流类型 //创建电器类的构造函数 public Wiring(double power,double pressure,double current, String electricity) { super(); this.power = power; this.pressure = pressure; this.current = current; this.electricity = electricity; } //创建work函数 public void work(){ System.out.println("电器工作功率是:"+power+"电器额定电压是:"+pressure+"电器额定电流是:"+current+"电器工作电流类型是:"+electricity); } public double getPower() { return power; } public void setPower(double power) { this.power = power; } public double getPressure() { return pressure; } public void setPressure(double pressure) { this.pressure = pressure; } public double getCurrent() { return current; } public void setCurrent(double current) { this.current = current; } public String getElectricity() { return electricity; } public void setElectricity(String electricity) { this.electricity = electricity; } } /*电视类继承父类wiring*/ public class TV extends Wiring{ protected String type;//电视类型 protected int voulme;//电视最大音量 //创建电视类的构造函数 public TV(double power, double pressure, double current, String electricity, String type, int voulme) { super(power, pressure, current, electricity); this.type = type; this.voulme = voulme; } public String getType() { return type; } public void setType(String type) { this.type = type; } public int getVoulme() { return voulme; } public void setVoulme(int voulme) { this.voulme = voulme; } //对work函数的重写 public void work(){ System.out.println("电视工作功率是:"+power+"电视额定电压是:"+pressure+"电视额定电流是:"+current+"电视工作电流类型是:"+electricity+"电视的型号是:"+type+"电视的最大音量是:"+voulme); //System.out.println("电视的型号是:"+type+"电视的最大音量是:"+voulme); } } /*冰箱类继承父类wiring*/ public class Icebox extends Wiring{ protected double capacity;//容量 //创建冰箱类的构造函数 public Icebox(double power, double pressure, double current, String electricity, double capacity) { super(power, pressure, current, electricity); this.capacity = capacity; } public double getCapacity() { return capacity; } public void setCapacity(double capacity) { this.capacity = capacity; } //继承work工作方法 public void work(){ System.out.println("冰箱工作功率是:"+power+"冰箱额定电压是:"+pressure+"冰箱额定电流是:"+current+"冰箱工作电流类型是:"+electricity); } } 这是我写的有不好的地方给点意见(java我们也刚学),如果刚觉还可以,请采纳,谢谢!
❼ JAVA继承,面向对象..
main主函数中的dog类是从哪来的? 然后你可以给我们看下你报的什么错,就是控制台打印出来的信息。 一般看那里就知道你哪里错了。
❽ JAVA面向对象,继承、封装、多态
package com.action;
public abstract class Sharpe {
//坐标 要看你 是什么地方的了是左上角还是中心?
//这儿按照习惯是坐上角
private Point location;
public Point getLocation() {
return location;
}
public void setLocation(Point location) {
this.location = location;
}
//图形未确定使用高中数学还无法解决。。微积分不知道有没有可以求出任意图形面积的方法
//所以是抽象的
public abstract Double SumArea();
}
--------------------------------------------------------------------------------------------
package com.action;
public class Point {
int x = 0;
int y = 0;
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;
}
}
-------------------------------------------------------------------------------
package com.action;
public class Circle extends Sharpe {
public static Double pai=3.1415;
private Double ra;
@Override
public Double SumArea() {
return pai*ra*ra;
}
}
----------------------------------------------------------------------------------------------
package com.action;
public class Rectangle extends Sharpe {
private Double length;
private Double width;
@Override
public Double SumArea() {
// TODO Auto-generated method stub
return length * width;
}
public Double getLength() {
return length;
}
public void setLength(Double length) {
this.length = length;
}
public Double getWidth() {
return width;
}
public void setWidth(Double width) {
this.width = width;
}
}
以上是使用面向对象的思想完成了你所说程序 (2) Shape提供检查是否包含指定坐标的方法不明白你的意思)
以上抽象类也可以使用接口来做
❾ java(面向对象)中,继承中的初始化顺序是怎样的(子父类角度)
初始化子类时会先初始化父类,之后才初始化子类的
❿ 关于JAVA的继承问题,面向对象
构造器中第一行如果调用了super,就不再自动补充默认的无参super。一个子类可以使用多个super,但一个构造器中只能用一个,而且必须写在第一行。子类只能继承父类非私有化的组件,如果把构造器私有化,那就不能产生子类。