父类默认访问权限的属性子类怎么访问?

父类默认访问权限的属性子类怎么访问?

package com.my.animal;

public class Animal {

		private String name;
		private int age;
		String father;
		
		public Animal() {
		}

		public String getName() {
			return name;
		}

		public void setName(String name) {
			this.name = name;
		}

		public int getAge() {
			return age;
		}

		public void setAge(int age) {
			this.age = age;
		}
		
		

}
package com.my.cat;

import com.my.animal.Animal;

public class Cat extends Animal{

	private String weight;
	
	public Cat() {
		
	}
	
	public void run() {
		System.out.println(this.getName()+"is running happily and his age is"+this.getAge());
	}
}

run方法中用this.father访问不到。

正在回答

登陆购买课程后可参与讨论,去登陆

2回答

1)你得看Cat与Animal是否在同一个包中,如果是那么this.father是可以访问的。如果不在同一个包中则访问不到。2)或者你把String father;改成public 也可以访问得到的。访问修饰符会在2-8会学到的。祝:学习愉快

慕盖茨9548946 2018-05-20 21:51:46

取值就用getter()方法访问啊,改变值用setter(x)方法,父类里面不是都写好了吗

  • 提问者 摄影祖师爷 #1
    我知道private 属性的取值用getter,其他访问权限的属性也要用getter吗?
    2018-05-20 22:09:36
  • 好帮手慕雪 回复 提问者 摄影祖师爷 #2
    不管什么属性都是可以设置set,get方法的。但建议还是把属性设置为private
    2018-05-21 10:05:14
  • 提问者 摄影祖师爷 回复 好帮手慕雪 #3
    我知道私有属性用 getter取值,但是比如非私有的,父类有个 String name,然后子类继承了父类,子类想要给Name赋值,必须要要用setter吗?我试了一席,用子类对象.name,不能赋值,可以解释下吗...
    2018-05-21 11:50:02
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师