java子类能继承父类属性吗?

下面程序为什么输出12,而不是-6,想破脑壳都想不通,大神快救救我啊~~~publicclassA{inti=12;}classBextendsA{inti=-6;pub... 下面程序为什么输出12,而不是-6,想破脑壳都想不通,大神快救救我啊~~~
public class A {
int i = 12;
}

class B extends A {
int i = -6;
public static void main(String[] args) {
A xx = new B();
System.out.println(xx.i);
}
}
展开
 我来答
kookkj
2014-08-27 · TA获得超过288个赞
知道小有建树答主
回答量:131
采纳率:0%
帮助的人:92.2万
展开全部
子类可以继承父类中非private的属性。你new 了一个B对象xx,但是声明为父类A类型,所以,调用xx.i的时候实际上是访问了父类的属性值
更多追问追答
追问
虽然声明了父类的引用,但我实例化的是子类的对象啊
追答
这么说吧,你将父类声明为private,编绎也会报错,因为当你声明为A类型的时候,java虚拟机就会认为实例化对象为一个A类型的对象,这情况下只能访问A中的成员变量和方法,这和List list = new ArrayList()是类似的。
Nor_yourgodsy
2015-10-23 · TA获得超过1.8万个赞
知道大有可为答主
回答量:3659
采纳率:82%
帮助的人:278万
展开全部
能的
1、除了JAVA中,子类继承父类的所有方法和属性(构造方法要用关键字super([参数])调用)
另外,当父类的方法或属性被声明为private(私有的)时,子类也是不可以继承的。
2、继承是JAVA中一个重要的特色,便于程序的编写,提高代码的重用性。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友83a4877
2014-08-26 · 超过60用户采纳过TA的回答
知道答主
回答量:170
采纳率:100%
帮助的人:50.8万
展开全部
子类继承父类的所有(包括私有属性),但是却不能调用父类的私有属性,父类私有的属性方法等子类都不能调用,所以子类里用的getName()在父类里是public的。这是java的一个特性,叫封装
这样可以么?
追问
你说错了吧,1.子类继承父类所有属性,除了私有属性   2.我没有进行封装
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
来自太阳de外星人
2014-08-27 · TA获得超过297个赞
知道小有建树答主
回答量:650
采纳率:80%
帮助的人:185万
展开全部
向上转型时 调用的是父类的属性

1.如果给子类i提供get和set 通过get调用的自然是子类的
2.如果给父类和子类分别提供get和set,调的仍然是子类的,因为方法被重写
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
画画163
2018-05-03
知道答主
回答量:1
采纳率:0%
帮助的人:855
展开全部
哥你这个是声明的抽象对象吧 你创建 A new B 干嘛 直接 B xx = new B();
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式