2,子类与父类不在同一包中 此时private与friendly均不能被继承(访问), protected与public可以。
: Z6 R7 q! } ^/ s5 {$ N! H4 {, |, r Father.java& x) ]- M; |$ ?. r1 o) r$ Y
Java代码- z6 ?4 c- }- }/ `/ ^+ c
package com.aaa
6 b- P* z' P/ C* E+ d& w public class Father+ E' T! t: X5 r
{
" h9 X! e: {. N+ R int height ;
8 [9 W; U% m- s7 g2 {" q protected int money=120;
D1 m; U! ^* z, J; ?9 U* V public int weight;
4 E7 b; b3 Y8 ]$ U k protected int getMoney()
! M9 n- P, c# }! `# M: | {" c/ d$ @& h Z8 B% `. @
return money;7 F7 ?3 u0 U8 G3 ]6 z" v: b
}
5 z$ O, G5 a# W void setMoney(int newMoney)
% G- j4 _ p5 k& k1 i {% @' O* y) Y" l4 i) y7 m
money=newMoney;0 f0 J5 E8 N3 \+ O( c
}
& M3 D$ C* A+ H6 } }: e+ t2 }3 `% p+ _3 D& u
Son.java
6 m F6 B4 W; _1 h @6 t Java代码/ t# p& [/ p& W" y% W& R1 N
package com.bbb; L E! V$ U9 F2 i& `. y
import com.aaa.Father;
* }4 w& S! T8 T! {, C. g public class Son extends Father
" e; {0 E- N/ \- ? {9 y1 H( X7 I8 D
void f()$ j7 ?$ `- r. X
{
5 F6 d$ I4 q+ K$ _, E money=10000;//合法4 r6 x. f, F" Z9 A @
//height=170;//非法,height为friendly修饰的变量5 {' ?2 c6 ]" P
System.out.println(money);//输出结果是10000
" R* A# h9 B" l6 O; O5 i2 U4 S, O //setMoney(300); //非法- O' e$ D5 V1 U# _( @
int number=getMoney(); //合法" Z$ Z! N+ v M$ Y
System.out.println(number);//输出结果是10000
8 K) Y/ F8 f S }/ g$ A6 f" h( ^, W t
public static void main(String args[])
- q! L- @) i3 J {% E0 V, w& @- h: P9 ?& r& A$ J7 r
Son sss=new Son();
6 b% C. M3 b; ?% v/ q* P3 { B. s% H$ N sss.f();
G+ M, i* _3 ^+ \( A6 u! q) s }
# P' p3 S% J: V* Q- F8 D4 g% u }
- |0 N0 \5 }1 m 所以,访问权限修饰符权限从高到低排列是public ,protected ,friendly, private。 |