Ⅰ java中private和public,final代表什麼意思
您好,提問者:
private:代表私有的,修飾變數只辯老能在本類訪問,private方法子類不能繼承。
public:是最大許可權,都可以訪問,是公共的。
final:最終的,如果變數定義為final必須賦初毀灶高始值,而且值不能改變纖尺,final方法,子類不能實現。
Ⅱ 弱弱的問下,java里什麼情況下用public,什麼情況下用private
一.Java訪問許可權飾詞(access specifiers)
Java有public、protect、friendly、private四種訪問許可權,並且這四訪問許可權的訪問范圍越來越小。
1. friendly
1) 果一個class內的數據成員或方法沒有任何許可權飾詞,那麼它的預設訪問許可權就是friendly。同一個package內的其它所有classes都可以訪問friendly成員,但對package以外的classes則形同private。
2)對於同一個文件夾下的、沒有用package的classes,Java會自動將這些classes初見為隸屬於該目錄的default package,可以相互調用class中的friendly成員。如以下兩個class分別在同一個文件夾的兩個文件中,雖然沒有引入package, 但隸屬於相同的default package。
class Sundae{
//以下兩個方法預設為friendly
Sundae(){}
Void f() {System.out.println(「Sundae.f()」);
}
public class IceCream{
public static void main(String[] args){
Sundae x = new Sundae();
x.f();
}
}
2. public:可以被任何class調用
3. private:private成員只能在成員所屬的class內被調用,如:
class Sundae{
private Sundae(){}//只能在Sundae class中被調用
Sundae(int i) {}
static Sundae makASundae() {
return new Sundae();
}
}
public class IceCream{
public static void main(String[] args){
// Sundae class中構造函數Sundae()是private,
// 所以不能用它進行初始化
//Sundae x = new Sundae();
Sundae y = new Sundae(1);//Sundae(int)是friendly,可以在此調用
Sundae z = Sundae.makASundae();
}
}
4. protected:具有friendly訪問許可權的同時,又能被subclass(當然包括子孫類,即子類的子類)所訪問。即,既能被同一package中的classes訪問,又能被protected成員所在class的subclass訪問。
二.Class的訪問許可權
1.Class同樣具有public、protect、friendly、private四種訪問訪問許可權:
1)public:在任何地方都可被使用
2)protect、private:除了它自己,沒有任何class可以使用,所以class不能是
protected或private(inner class除外)
3) friendly:同一個package中的classes能用
2. 如何調用構造函數被聲明為private的class
1) 用static函數
2) 用Singteton模式
class Soup{
private Soup(){}
//(1)靜態函數方法
public static Soup makeSout(){
return new Soup();
}
//(2)The "Singleton" pattern:
private static Soup ps1 = new Soup();
public static Soup access(){
return ps1;
}
public void f(String msg){
System.out.println("f(" + msg + ")");
}
}
public class Lunch{
public static void main(String[] args){
//Soup priv1 = new Soup();編譯錯誤
Soup priv2 = Soup.makeSout();
Soup priv3 = Soup.access();
priv2.f("priv2");
priv3.f("priv3");
}
Ⅲ java中public與private分別是什麼
public :public 表明該數據成員、成員函數是對所有用戶開放的,所有用戶都可以直接進行調用
private :private 表示私有,私有的意思就是除了class自己之外,任何人都不可以直接使用,私有財產神聖不可侵犯嘛,即便是子女,朋友,都不可以使用。
Ⅳ 弱弱的問下,java里什麼情況下用public,什麼情況下用private
這個是訪問許可權的問題,public
表示共有的private
表示並拍私有的例如你有個
user{
private
int
age;
}
如果把age
設為public
那我們就可以直接通過對象調用這個屬性,有的人可能把這個把這個age設為
-1按照我們日常的思維這個是不可以的。所以通常把類的成員變數設為私有,然後通過get,set方法為其賦值,或者取得它的值,在局罩賦值的時候我們可桐蔽鬧以先在set方法裡面判斷一下這個age時候<0如果<0
就自動賦予一個初始值。等
Ⅳ java類里的默認數據類型 是public還是private還是protected
java的訪問許可權有下面四種:
public--都可訪問(公有)
protected--包內和子類可訪問(保護)
不寫(default)--包內可訪問 (默認)
private--類內可訪問(私有)
a是default類型
Ⅵ Java中的private,protected,public和default的區別
(1)對於public修飾符,它具有最大的訪問許可權,可以訪問任何一個在CLASSPATH下的類、介面、異常等。它往往用於對外的情況,也就是對象或類對外的一種介面的形式。
(2)對於protected修飾符,它主要的作用就是用來保護子類的。它的含義在於子類可以用它修飾的成員,其他的不可以,它相當於傳遞給子類的一種繼承的東西。
(3)對於default來說,有點的時候也成為friendly(友員),它是針對本包訪問而設計的,任何處於本包下的類、介面、異常等,都可以相互訪問,即使是父類沒有用protected修飾的成員也可以。
(4)對於private來說,它的訪問許可權僅限於類的內部,是一種封裝的體現,例如,大多數的成員變數都是修飾符為private的,它們不希望被其他任何外部的類訪問。
區別:
(1)public:可以被所有其他類所訪問。
(2)private:只能被自己訪問和修改。
(3)protected:自身,子類及同一個包中類可以訪問。
(4)default(默認):同一包中的類可以訪問,聲明時沒有加修飾符,認為是friendly。
Ⅶ java中public與private分別是什麼
public
:public
表明該數據成員、成員函數是對所有用戶開放的,所有用戶都可以直接進行調用
private
:private
表示私有,私有的意思就是除了class自己之外,任何人都不可以直接使用,私有財產神聖不可侵犯嘛,即塵孝便滑高是子女,朋友,都不派讓稿可以使用。
Ⅷ Java中的private,protected,public和default的區別
本文介紹Java中private,哪握protected,public和default的區別:
private,protected,public和default作為Java中的訪問修飾符,他們的最大區別就在於訪問許可權不同:
default:是針對本包訪行雹問而設計的,任何處於本包下的類、介面等,都可以相互訪問,即使是父類沒有用protected修飾的成員也可以
public:它的訪問許可權最大,任李帶慶何對象都可以調用public修飾的成員。也就是說可以被其他類所訪問
protected:意思是「受保護的」,同一個包內的其他對象可以調用protected修飾的成員。
private:私有的,這個是許可權最小的,只能在本類中使用。即只能被自己訪問和修改。