public class Person{ String name; }public class Student extends Person{ public static void main(String [] args){ Student stu = new Student(); stu.name = "LZ"; } }
那么new一个子类对象,它存在name成员吗。。 ============================ 存在的,请运行下面代码:public class A { int i, j;
void showij(){ System.out.println("i and j:" + i + " " + j ); } } public class B extends A { int k;
void showijk(){ System.out.println("i, j and k:" + i + " " + j + " " + k); }
void sum(){ System.out.println("sum of i, j, k is:" + (i+j+k) ); } } public class Test { public static void main(String[] args){ A a = new A(); a.i = 1; a.j = 2; a.showij();
B b = new B(); b.i = 3; b.j = 4; b.k = 5; b.showij(); b.showijk(); b.sum(); } }
运行结果: i and j:1 2 i and j:3 4 i, j and k:3 4 5 sum of i, j, k is:12
public class Person{
String name;
}public class Student extends Person{
public static void main(String [] args){
Student stu = new Student();
stu.name = "LZ";
}
}
在类中只能访问私有成员,外部是没法访问滴,而保护成员只能在同一个包中访问
public就什么限制了,
例:父类public class Person {
private String name;
private int age;
private String address;
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;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
}
例:子类public class Sun extends Person {
private String school; public String getSchool() {
return school;
} public void setSchool(String school) {
this.school = school;
}
public static void main(String[] args) {
Sun s = new Sun();
s.setAge(12);
s.setName("您好朋友"); }
}
子类没有age与name的属性,但是它继承自父类Person,所以就可以调用了。
答:当然存在.父类或者说:祖先类中的任何数据成员(含:private型),子孙类的对象空间中都包含这些数据成员.含有它们,但大部分都是不能直接访问的,只能通过方法来间接访问.
但我们通常所说的"继承"含义,更多的是从"访问权"角度理解的.如:父类中的private int i=1;在子类中是不能继承的.但:子类的对象空间中确确实实是包含有变量i的空间的.只是这个变量i,在子类对象中:不能直接访问的,只能通过方法来间接访问.
如果父类定义的这个变量是private或default,那子类(非同包下)不会继承
如果父类定义的这个变量是protected或public,那子类(非同包下)会继承
============================
存在的,请运行下面代码:public class A {
int i, j;
void showij(){
System.out.println("i and j:" + i + " " + j );
}
}
public class B extends A {
int k;
void showijk(){
System.out.println("i, j and k:" + i + " " + j + " " + k);
}
void sum(){
System.out.println("sum of i, j, k is:" + (i+j+k) );
}
}
public class Test {
public static void main(String[] args){
A a = new A();
a.i = 1;
a.j = 2;
a.showij();
B b = new B();
b.i = 3;
b.j = 4;
b.k = 5;
b.showij();
b.showijk();
b.sum();
}
}
i and j:1 2
i and j:3 4
i, j and k:3 4 5
sum of i, j, k is:12