java访问权限修饰符public protected friendly private用法总结

时间:2024.4.7

java访问权限修饰符public protected friendly private用法总结

首先声明:java中,friendly这个修饰符并没有显式的声明,在成员变量和方法前什么修饰符也不用,默认的就是friendly。

为了条理清晰,分三种不同情况来总结。

一 访问权限修饰符修饰成员变量和方法

public:表明该成员变量和方法是共有的,能在任何情况下被访问。

protected:必须在同一包中才能被访问。(说的比较简单,看个例子就明白了)

eg:class A

{

protected int weight ;

protected int f( int a,int b )

{

// 方法体

}

}

假设B与A在同一个包中,则

class B

{

void g()

{

A a=new A();

A.weight=100;//合法

A.f(3,4); //合法

}

}

特别说明:什么是在同一个包中?

答:用package打包在一起的class ,叫在同一个包中。(不明白,举个例子)

eg:在JDK的src\java\io中,你会看到许多java类,第一句源代码都是package java.io;

没有使用package打包的,在同一目录下的类也会被视做同一个包。

friendly:在这种情况下中,同protected。区别在第二和第三种情况中。

eg: class A

{

int weight ;

int f( int a,int b )

{

// 方法体

}

}

假设B与A在同一个包中,则

class B

{

void g()

{

A a=new A();

A.weight=100;//合法

A.f(3,4); //合法

}

}

private: 只能在本类中访问。

eg: class Test

{

private int money;

Test()

{

money=20xx;

}

private int getMoney()

{

return money;

}

public static void main(String args[])

{

Test te=new Test();

te.money=3000; //合法

int m=te.getMoney(); //合法

System.out.println("money="+m);

}

}

PS: 实际上,把重要的数据修饰为private,然后写一个public的函数访问它,正好体现了OOP的封装特性,是OOP安全性的体现。

二 访问权限修饰符修饰类

1,不能用protected和private修饰类。

2,用friendly修饰的类叫友好类,在另外一个类中使用友好类创建对象时,要保证它们在同一包中。

三 访问权限修饰符与继承

这里的访问修饰符指的是修饰成员变量和方法。可以分为两种情况:

1,子类与父类在同一包中

此时只有声明为private的变量与方法不能被继承(访问)。

eg:

class Father

{

private int money ;

int weight=100;

}

class Son extends Father

{

viod f()

{

money=10000;// 非法

weight=100; // 合法

}

}

2,子类与父类不在同一包中

此时private与friendly均不能被继承(访问),

eg:

Father.java

package com.aaa

public class Father

{

int height ;

protected int money=120;

public int weight;

protected int getMoney()

{

return money;

}

void setMoney(int newMoney)

{

money=newMoney; protected与public可以。

}

Son.java

package com.bbb

import com.aaa.Father;

public class Son extends Father

{

void f()

{

money=10000;//合法

//height=170;//非法,height为friendly修饰的变量

System.out.println(money);//输出结果是10000

//setMoney(300); //非法

int number=getMoney(); //合法

System.out.println(number);//输出结果是10000

}

public static void main(String args[])

{

Son sss=new Son();

sss.f();

}

}

所以,访问权限修饰符权限从高到低排列是public ,protected ,friendly, private。

更多相关推荐:
it的用法归纳

NeverbeafraidofgrammarCollectsomeexamplesWatchthemverycarefullyFindoutsomethingincommonTrytousetherulespr...

It用法小结

it用法小结it在英语语法中属人称代词意思是它用来指人以外的一切生物和事物它的用法不仅不简单而且很复杂一用于指人以外的一切生物无生命的东西和事情一般指说话者心目中已经了解或所指的生物无生命的东西或事情没有性别的...

It的用法专项总结及训练

It的用法专项总结及训练It的用法一it作人称代词1it的最基本用法是作代词主要指刚提到的事物以避免重复NingboisabeautifulcityisntitTheywatchedthetrainuntili...

It用法及总结

It用法及总结陕西丹凤中学佘君贤1.it指时间,天气,距离,季节,环境以及自然现象。Eg.What’sthedatetoday?It’soctober27th.2.代替前面提到的事物。Eg.Thedocoter…

It用法总结

It句型小结zhaodavid词汇语法it句型语法1Comment发表评论1Itis被强调部分that该句型是强调句型将被强调的部分放在前面其它部分置于that之后被强调部分可以是主语宾语表语或状语强调的主语假...

it的用法总结

Unit3AhealthylifeEditor:YangWenhuaUnit3AhealthylifeLearningPlan(Grammar)Objective:Tolearntheuseof“it”prop…

高考英语It的用法(专项总结及训练)--学生版

It的用法专项总结及训练学生版一人称代词1it的最基本用法是作代词主要指刚提到的事物以避免重复Theywatchedthetrainuntilitdisappearedinthedistance2也可以指动物或...

高中英语语法知识之It的用法总结

高考英语语法知识之It的用法总结1.Itis+被强调部分+that...该句型是强调句型。将被强调的部分放在前面,其它部分置于that之后。被强调部分可以是主语,宾语,状语。强调的主语如果是人,that可以由w…

Forget it 的用法

Forgetit有以下用法:1.用于回答感谢,意为“不客气”。---Thankyouverymuchforyourhelp.多谢你的帮助。---Forgetit.不用谢。2.用于回答道歉,意为“没关系”---I…

It的用法总结及训练

It的用法总结及写作训练高考命题趋势综观全国各地高考试卷和模拟试题,不难发现的it用法在英语基础知识部分考查的比较多,What'sthedatetoda?It'stheeleventh,October.6指季节…

全面总结It用法及相关语境练习

株洲二中20xx届高三英语复习伴手礼No1It用法总结20xx1023123ItwasaniceautumnafternoonPresidentObamacametovisitFudanUniversityof...

it用法归纳

现将it用法归纳如下一指无生命动物植物和在性别不计或不详时指人和婴儿ThereisapersonknockingatthedoorWhocanitbe二指心目中的人或上文中提到的人或事物Heisfiftytwo...

it 用法总结(30篇)