تبدیل متغیر ها به یکدیگر در جاوا
در زبان جاوا نیز به مشابه سایر زبان های برنامه نویسی روش هایی برای تبدیل متغیرها به یکدیگر وجود دارد که در این مقاله به برخی از آنها اشاره می گردد.
1- تبدیل string به double
بطور کلی برای تبدیل sting به double سه روش متفاوت وجود دارد که در ذیل بدان ها اشاره می شود:
روش اول استفاده از Double.parseDouble
public static double parseDouble(String str) throws NumberFormatException
در این متد مقدار string از طریق انداختن آن در استتثناها ، به نوع double تبدیل می شود و استثناهای آن به شرح زیر می باشد:
NullPointerException این استثنا زمانی رخ خواهد داد که مشخص شود که مقدار بازگردانده شده از string به double تهی است.
NumberFormatException این استثنا زمانی رخ خواهد داد که مشخص شود که فرمت رشته بازگردانده شده به نوع double، معتبر نیست.
سینتکس کلی آن به شرح زیر می باشد.
String str="15.20";
Double variable= Double.parseDouble(str);
روش دوم: استفاده از Double.valueOf سینتکس کلی آن به شکل زیر می باشد
String str="140.10";
Double variable= Double.valueOf(str);
روش سوم : استفاده از کلاس سازنده Double که سینتکس کلی آن به شرح زیر می باشد:
String str="130.302";
Double variable= new Double(str);
مثال:
ublic class Convert{
public static void main(String args[]){
//parseDouble استفاده از روش
String str="130.102";
Double variable= Double.parseDouble(str);
System.out.println(variable);
// استفاده از روش کلاس سازنده
String str2="130.102"";
Double var2= new Double(str2);
System.out.println(var2);
//valueOf استفاده از روش
String str3="130.102"";
Double var3= Double.valueOf(str3);
System.out.println(var3);
}
}
خروجی:
130.102
130.102
130.1
2- تبدیل integer به String
برای تبدیل متغیرهای int به نوع string از روش String.valueOf استفاده می کنیم دستور زیر راببینید:
int variable = 15;
String str = String.valueOf(variable);
3- تبدیل String به integer
برای تبدیل متغیرهای String به integer از روش Integer.parseInt و Integer.valueOf استفاده می کنیم. دستور زیر را ببینید:
String num = "17";
int var = Integer.parseInt(num);
System.out.println(var);
روش دوم :
String num = "17";
int var = Integer.valueOf(num);
System.out.println(var);
4- تبدیل String به Long
برای تبدیل فوق از روش parseLong استفاده می کنیم به مثال زیر دقت کنید.
String num = "17";
Long var = Long.parseLong(num);
System.out.println(var);
5- تبدیل integer به double
برای تبدیل integer به double به صورت زیر عمل می کنیم.
int var = 12;
double dvar = var;
در زبان جاوا نیز به مشابه سایر زبان های برنامه نویسی روش هایی برای تبدیل متغیرها به یکدیگر وجود دارد که در این مقاله به برخی از آنها اشاره می گردد.
1- تبدیل string به double
بطور کلی برای تبدیل sting به double سه روش متفاوت وجود دارد که در ذیل بدان ها اشاره می شود:
روش اول استفاده از Double.parseDouble
public static double parseDouble(String str) throws NumberFormatException
در این متد مقدار string از طریق انداختن آن در استتثناها ، به نوع double تبدیل می شود و استثناهای آن به شرح زیر می باشد:
NullPointerException این استثنا زمانی رخ خواهد داد که مشخص شود که مقدار بازگردانده شده از string به double تهی است.
NumberFormatException این استثنا زمانی رخ خواهد داد که مشخص شود که فرمت رشته بازگردانده شده به نوع double، معتبر نیست.
سینتکس کلی آن به شرح زیر می باشد.
String str="15.20";
Double variable= Double.parseDouble(str);
روش دوم: استفاده از Double.valueOf سینتکس کلی آن به شکل زیر می باشد
String str="140.10";
Double variable= Double.valueOf(str);
روش سوم : استفاده از کلاس سازنده Double که سینتکس کلی آن به شرح زیر می باشد:
String str="130.302";
Double variable= new Double(str);
مثال:
ublic class Convert{
public static void main(String args[]){
//parseDouble استفاده از روش
String str="130.102";
Double variable= Double.parseDouble(str);
System.out.println(variable);
// استفاده از روش کلاس سازنده
String str2="130.102"";
Double var2= new Double(str2);
System.out.println(var2);
//valueOf استفاده از روش
String str3="130.102"";
Double var3= Double.valueOf(str3);
System.out.println(var3);
}
}
خروجی:
130.102
130.102
130.1
2- تبدیل integer به String
برای تبدیل متغیرهای int به نوع string از روش String.valueOf استفاده می کنیم دستور زیر راببینید:
int variable = 15;
String str = String.valueOf(variable);
3- تبدیل String به integer
برای تبدیل متغیرهای String به integer از روش Integer.parseInt و Integer.valueOf استفاده می کنیم. دستور زیر را ببینید:
String num = "17";
int var = Integer.parseInt(num);
System.out.println(var);
روش دوم :
String num = "17";
int var = Integer.valueOf(num);
System.out.println(var);
4- تبدیل String به Long
برای تبدیل فوق از روش parseLong استفاده می کنیم به مثال زیر دقت کنید.
String num = "17";
Long var = Long.parseLong(num);
System.out.println(var);
5- تبدیل integer به double
برای تبدیل integer به double به صورت زیر عمل می کنیم.
int var = 12;
double dvar = var;
ازمون :
جمع یک مقدار از نوع double و یک مقدار از نوع int و یک مقدار از نوع float، در نهایت از نوع double خواهد بود.
پاسخ : صحیح
شما می توانید با استفاده از یک متحد ساز، یک مقدار از یک نوع دیگر را با یک نوع دلخواه ذخیره کنید.
پاسخ : صحیح
هنگامی که شما بر روی دو عملوند با نوع مختلف، عملیات محاسباتی انجام می دهید، شما باید آنها را به یک نوع، مورد محاسبه قرار دهید.
پاسخ :غلط
دلیل :
هنگامی که شما بر روی دو عملوند با نوع مختلف، عملیات محاسباتی انجام می دهید، جاوا آنها را به یک نوع متحد ساز محاسبه می کند.
جمع یک مقدار از نوع double و یک مقدار از نوع int و یک مقدار از نوع float، در نهایت از نوع double خواهد بود.
پاسخ : صحیح
شما می توانید با استفاده از یک متحد ساز، یک مقدار از یک نوع دیگر را با یک نوع دلخواه ذخیره کنید.
پاسخ : صحیح
هنگامی که شما بر روی دو عملوند با نوع مختلف، عملیات محاسباتی انجام می دهید، شما باید آنها را به یک نوع، مورد محاسبه قرار دهید.
پاسخ :غلط
دلیل :
هنگامی که شما بر روی دو عملوند با نوع مختلف، عملیات محاسباتی انجام می دهید، جاوا آنها را به یک نوع متحد ساز محاسبه می کند.
تبدیل رشته به عدد در جاوا
گاهی لازم است رشته ای عددی را در جاوا به عدد معادل آن تبدیل کنیم. برای این کار می توان از متد parseInt که در کلاس Integer است استفاده کرد.
مثال:
int a = Integer.parseInt("1234");
گاهی لازم است رشته ای عددی را در جاوا به عدد معادل آن تبدیل کنیم. برای این کار می توان از متد parseInt که در کلاس Integer است استفاده کرد.
مثال:
int a = Integer.parseInt("1234");
تفاوت String.valueOf و Integer.toString
بر اساس مستندات جاوا، در صورتیکه پارامتر ورودی String.valueOf() مقدار null باشد، مقدار "null" را برمیگرداند، در حالی که اگر ورودی Integer.toString() مقدار null باشد خطای NullPointerException رخ خواهد داد.
مثال مقدار null در String.valueOf
Integer number = null;
String result = String.valueOf(number);
System.out.println(result);
خروجی
null
مثال مقدار null در Integer.ToString
Integer number = null;
String result = Integer.toString(number);
System.out.println(result);
خروجی
Exception in thread "main" java.lang.NullPointerException at fortest.Main.main(Main.java:6)
بر اساس مستندات جاوا، در صورتیکه پارامتر ورودی String.valueOf() مقدار null باشد، مقدار "null" را برمیگرداند، در حالی که اگر ورودی Integer.toString() مقدار null باشد خطای NullPointerException رخ خواهد داد.
مثال مقدار null در String.valueOf
Integer number = null;
String result = String.valueOf(number);
System.out.println(result);
خروجی
null
مثال مقدار null در Integer.ToString
Integer number = null;
String result = Integer.toString(number);
System.out.println(result);
خروجی
Exception in thread "main" java.lang.NullPointerException at fortest.Main.main(Main.java:6)
چگونه در جاوا کاراکتر تصادفی بین کاراکترهای a تا z تولید کنیم؟
پاسخ:
package start1397;
import java.util.Random;
public class Test4 {
public static void main(String[] args) {
Random rnd = new Random();
char c = (char) (rnd.nextInt(26) + 'a');
System.out.println(c);
}
}
با تست برنامه بالا هر بار برای شما یک کاراکتر انگلیسی تصادفی تولید می شود، برای مثال بعد اجرای کد جاوای بالا کاراکتر زیر به صورت تصادفی تولید شده است:
Output:
i
@this_java
پاسخ:
package start1397;
import java.util.Random;
public class Test4 {
public static void main(String[] args) {
Random rnd = new Random();
char c = (char) (rnd.nextInt(26) + 'a');
System.out.println(c);
}
}
با تست برنامه بالا هر بار برای شما یک کاراکتر انگلیسی تصادفی تولید می شود، برای مثال بعد اجرای کد جاوای بالا کاراکتر زیر به صورت تصادفی تولید شده است:
Output:
i
@this_java
پاک کردن عناصر درون HashSet :
void clear
برای پاک کردن تمامی عناصر HashSet استفاده میشود
public class Connect
{
public static void main (String[] args)
{
HashSet<String> ssm = new HashSet<String😠);
ssm.add("PArss");
System.out.println("Befor Clear : "+ssm);
ssm.clear();
System.out.println("After Clear : "+ssm);
}
}
Out Put:
Befor Clear : [PArss]
After Clear : []
@this_java
void clear
برای پاک کردن تمامی عناصر HashSet استفاده میشود
public class Connect
{
public static void main (String[] args)
{
HashSet<String> ssm = new HashSet<String😠);
ssm.add("PArss");
System.out.println("Befor Clear : "+ssm);
ssm.clear();
System.out.println("After Clear : "+ssm);
}
}
Out Put:
Befor Clear : [PArss]
After Clear : []
@this_java
چک کردن موجود بودن یک عنصر در HashSet
boolean contains(object)
اگر عنصر وجود داشت مقدار true را بر میگرداند
در غیر این صورت مقدار برگشتی false خواهد بود
به مثال زیر توجه کنید :
public class Connect
{
public static void main (String[] args)
{
HashSet<String> ssm = new HashSet<String😠);
ssm.add("PArss");
ssm.contains("parsa");
System.out.println(ssm);
System.out.println(ssm.contains("parsa"));
}
}
OUTPUT :
[PArss]
false
@this_java
boolean contains(object)
اگر عنصر وجود داشت مقدار true را بر میگرداند
در غیر این صورت مقدار برگشتی false خواهد بود
به مثال زیر توجه کنید :
public class Connect
{
public static void main (String[] args)
{
HashSet<String> ssm = new HashSet<String😠);
ssm.add("PArss");
ssm.contains("parsa");
System.out.println(ssm);
System.out.println(ssm.contains("parsa"));
}
}
OUTPUT :
[PArss]
false
@this_java
craps.java
1.4 KB
مبحث اموزشی : بازی شانس ; معرفی enum
یکی از بازی های مورد علاقه در بسیاری از نقاط جهان craps نام دارد که با طاس انجام میشود....
یکی از بازی های مورد علاقه در بسیاری از نقاط جهان craps نام دارد که با طاس انجام میشود....
محاسبه ی فاکتوریل در جاوا :
import java.util.Scanner;
public class Factorial {
public static void main(String[] args) {
int n, fact = 1;
Scanner input = new Scanner(System.in);
System.out.println("Enter Number Of N:");
n = input.nextInt();
for (int i = 1; i <= n; i++) {
fact = fact * i;
}
System.out.println("Factorial(" + " " + n + " ) " + "is " + fact);
}
}
import java.util.Scanner;
public class Factorial {
public static void main(String[] args) {
int n, fact = 1;
Scanner input = new Scanner(System.in);
System.out.println("Enter Number Of N:");
n = input.nextInt();
for (int i = 1; i <= n; i++) {
fact = fact * i;
}
System.out.println("Factorial(" + " " + n + " ) " + "is " + fact);
}
}
محاسبه ی فاکتوریل در جاوا : با استثنای فاکتوریل منفی
public class Factorial {
public static void main(String[] args) {
int i;
Scanner in = new Scanner(System.in);
System.out.println("Please Enter N : ");
i = in.nextInt();
Factorial m = new Factorial();
if(i <0) {
System.out.println("na");
} else if (i == 0){
System.out.println("1");
} else {
m.Fact(i);
}
}
public void Fact(int i) {
int b = 1;
for (int ms = 1; ms<=i; ms++)
b = b *ms;
System.out.println(b);
}
}
public class Factorial {
public static void main(String[] args) {
int i;
Scanner in = new Scanner(System.in);
System.out.println("Please Enter N : ");
i = in.nextInt();
Factorial m = new Factorial();
if(i <0) {
System.out.println("na");
} else if (i == 0){
System.out.println("1");
} else {
m.Fact(i);
}
}
public void Fact(int i) {
int b = 1;
for (int ms = 1; ms<=i; ms++)
b = b *ms;
System.out.println(b);
}
}
بدست اوردن عناصر ارایه به همراه شماره ی خونه ی قرار گیری انها:
package learn;
/
*
* @author Parsa
*/
public class Learn {
/
* @param args the command line arguments
*/
public static void main(String[] args) {
final int Array_SIZE= 10;
int[] Array = new int[Array_SIZE];
for(int i = 0; i< Array.length; i++)
Array[i] = 2+2 *i;
System.out.println("Index"+"\t"+"Value");
for(int i= 0; i<Array.length; i++)
System.out.println(i+"\t" +Array[i]);
}
}
خروجی :
Index Value
0 2
1 4
2 6
3 8
4 10
5 12
6 14
7 16
8 18
9 20
package learn;
/
*
* @author Parsa
*/
public class Learn {
/
* @param args the command line arguments
*/
public static void main(String[] args) {
final int Array_SIZE= 10;
int[] Array = new int[Array_SIZE];
for(int i = 0; i< Array.length; i++)
Array[i] = 2+2 *i;
System.out.println("Index"+"\t"+"Value");
for(int i= 0; i<Array.length; i++)
System.out.println(i+"\t" +Array[i]);
}
}
خروجی :
Index Value
0 2
1 4
2 6
3 8
4 10
5 12
6 14
7 16
8 18
9 20
نمایش گرافیکی داده های ارایه با نمودار میله ای :
package learn;
/
*
* @author Parsa
*/
public class Learn {
/
* @param args the command line arguments
*/
public static void main(String[] args) {
int Array[] = {0,0,0,0,0,1,3,5,6,1,10};
System.out.println("Grade Distribution : ");
for(int counter = 0; counter< Array.length; counter ++) {
if(counter == 10)
System.out.printf("%5d: ",100);
else
System.out.printf("%02d-%02d: ", counter *10, counter *10+9);
for(int stars =0; stars<Array[counter]; stars++)
System.out.print("*");
System.out.println();
}
}
}
خروجی :
00-09:
10-19:
20-29:
30-39:
40-49:
50-59: *
60-69: ***
70-79: *****
80-89: ******
90-99: *
100: **********
@this_java
package learn;
/
*
* @author Parsa
*/
public class Learn {
/
* @param args the command line arguments
*/
public static void main(String[] args) {
int Array[] = {0,0,0,0,0,1,3,5,6,1,10};
System.out.println("Grade Distribution : ");
for(int counter = 0; counter< Array.length; counter ++) {
if(counter == 10)
System.out.printf("%5d: ",100);
else
System.out.printf("%02d-%02d: ", counter *10, counter *10+9);
for(int stars =0; stars<Array[counter]; stars++)
System.out.print("*");
System.out.println();
}
}
}
خروجی :
00-09:
10-19:
20-29:
30-39:
40-49:
50-59: *
60-69: ***
70-79: *****
80-89: ******
90-99: *
100: **********
@this_java
استفاده از عناصر ارایه بعنوان شمارنده :
public class Learn {
public static void main(String[] args) {
Random is = new Random();
int[] fer = new int[7];
for (int i = 1; i <= 6000000; i++) {
++fer[1 + is.nextInt(6)];
}
System.out.println("Face" + "\t" + "Ferquency[face]");
for (int face = 1; face < fer.length; face++) {
System.out.println(face + "\t" + fer[face]);
}
}
}
public class Learn {
public static void main(String[] args) {
Random is = new Random();
int[] fer = new int[7];
for (int i = 1; i <= 6000000; i++) {
++fer[1 + is.nextInt(6)];
}
System.out.println("Face" + "\t" + "Ferquency[face]");
for (int face = 1; face < fer.length; face++) {
System.out.println(face + "\t" + fer[face]);
}
}
}
استفاده از ارایه ها برای تحلیل نتایج:
به مثال زیر توجه کنید :
از بیست دانشجو در مورد کیفیت غذای عرضه شده در رستوران دانشگاه سوال شده و پاسخ دانشجویان میتواند در محدوده ی 1 تا 10 قرار داشته باشد. به اینصورت که 1 نشانده ی کیفیت پایین و ده کیفیت بالاست... پاسخ دانشجویان را در یک ارایه قرار داده و میزان و تعداد پاسخ های همسان را مشخص سازرید
راه حل:
public class Learn {
public static void main(String[] args) {
int[] i = {1,2,5,4,3,5,2,1,3,3,1,4,3,3,3,2,3,3,2,14};
int[] ferquency = new int [6];
for(int answer = 0; answer<i.length;answer++) {
try{
++ferquency[i[answer]];
} catch (ArrayIndexOutOfBoundsException e) {
System.err.println(e);
System.out.printf("Responses [%d]= %d%n%n",answer,i[answer]);
}
}
System.out.println("Rating"+"\t"+"Ferquency");
for(int rating = 1; rating<ferquency.length;rating++) {
System.out.println(rating+"\t"+ferquency[rating]);
}
}
}
خروجی :
java.lang.ArrayIndexOutOfBoundsException: 14
Responses [19]= 14
Rating Ferquency
1 3
2 4
3 8
4 2
5 2
@this_java
به مثال زیر توجه کنید :
از بیست دانشجو در مورد کیفیت غذای عرضه شده در رستوران دانشگاه سوال شده و پاسخ دانشجویان میتواند در محدوده ی 1 تا 10 قرار داشته باشد. به اینصورت که 1 نشانده ی کیفیت پایین و ده کیفیت بالاست... پاسخ دانشجویان را در یک ارایه قرار داده و میزان و تعداد پاسخ های همسان را مشخص سازرید
راه حل:
public class Learn {
public static void main(String[] args) {
int[] i = {1,2,5,4,3,5,2,1,3,3,1,4,3,3,3,2,3,3,2,14};
int[] ferquency = new int [6];
for(int answer = 0; answer<i.length;answer++) {
try{
++ferquency[i[answer]];
} catch (ArrayIndexOutOfBoundsException e) {
System.err.println(e);
System.out.printf("Responses [%d]= %d%n%n",answer,i[answer]);
}
}
System.out.println("Rating"+"\t"+"Ferquency");
for(int rating = 1; rating<ferquency.length;rating++) {
System.out.println(rating+"\t"+ferquency[rating]);
}
}
}
خروجی :
java.lang.ArrayIndexOutOfBoundsException: 14
Responses [19]= 14
Rating Ferquency
1 3
2 4
3 8
4 2
5 2
@this_java
چاپ تمامی عناصر ارایه ی دو بعدی:
package learn;
public class Learn {
public static void main(String[] args) {
//row equals sart
//columns means soton
int[][] Array = {{2, 2, 3, 4}, {3, 4, 2, 1}};
int[][] parsa = {{1, 2}, {3}, {4, 5, 6}};
System.out.println("Array: ");
output(Array);
System.out.println("Parsa: ");
output(parsa);
}
static void output(int[][] k) {
for (int counrer = 0; counrer < k.length; counrer++) {
for (int c = 0; c < k[counrer].length; c++) {
System.out.println(k[counrer][c]);
}
}
}
}
@this_java
package learn;
public class Learn {
public static void main(String[] args) {
//row equals sart
//columns means soton
int[][] Array = {{2, 2, 3, 4}, {3, 4, 2, 1}};
int[][] parsa = {{1, 2}, {3}, {4, 5, 6}};
System.out.println("Array: ");
output(Array);
System.out.println("Parsa: ");
output(parsa);
}
static void output(int[][] k) {
for (int counrer = 0; counrer < k.length; counrer++) {
for (int c = 0; c < k[counrer].length; c++) {
System.out.println(k[counrer][c]);
}
}
}
}
@this_java
مثال کاربردی از متد split() در جاوا
مثال جاری تمامی کلمات موجود در آبجکت s1 را که بر اساس فاصله (space) از هم جدا شده اند، برمی گرداند.
public class SplitExample{
public static void main(String args[]){
String s1="java string split method by javatpoint";
String[] words=s1.split("\\s");//splits the string based on whitespace
//using java foreach loop to print elements of string array
for(String w:words){
System.out.println(w);
}
}}
خروجی:
java
string
split
method
by
javatpoint
@this_java
مثال جاری تمامی کلمات موجود در آبجکت s1 را که بر اساس فاصله (space) از هم جدا شده اند، برمی گرداند.
public class SplitExample{
public static void main(String args[]){
String s1="java string split method by javatpoint";
String[] words=s1.split("\\s");//splits the string based on whitespace
//using java foreach loop to print elements of string array
for(String w:words){
System.out.println(w);
}
}}
خروجی:
java
string
split
method
by
javatpoint
@this_java
متد های get و set در مقابل داده public
بنظر میرسد که تدارک دیدن قابلیت های set و get به میزان ایجاد متغیر های نمونه ی پابلیک از اهمیت برخوردار است. این قابلیت یکی از نکات جالب توجه زبان جاوا در زمینه ی مهندسی هنرم افزار است...یک متغیر نمونه public میتواند توسط هر متدی که دارای یک مراجعه به یک شی است که حاوی متغیر نمونه باشد , خوانده یا نوشته شود...اگر متغیر بصورت privatrr اعلان شده باشد یک متد public get بطور مشخص به سایر متد ها اجازه ی دسترسی به متغیر را میدهد , اما متد get تنها میتواند در نحوه ی دسترسی کلاینت به متغیر کنترل داشته باشید..
برای مثال امکان دارد یک متد get بر فرمت برگشتی کنترل داشته باشد از اینرو همانند یک حفاظ در مقابل کد کلاینت در دسترسی به داده واقعی عمل میکند.
یک متد public set میتواند و باید به دقت مبادرت به تغییر مقدار متغیر کند تا مطمعن گردد مقدار جدید برای ان ایتم مناسب است..
برای مثال اقدام به set روز ماه 37 پذیرفته نیست.. یا تنظیم وزن یک نفر به مقدار منفی و الی اخر.. بنابراین اگرچه متد های set و get دسترسی به داده های private را فراهم می اورند ... اما این دسترسی توسط برنامه نویس به هنگام پیاده سازی متد ها با محدودیت همراه میشود
@this_java
بنظر میرسد که تدارک دیدن قابلیت های set و get به میزان ایجاد متغیر های نمونه ی پابلیک از اهمیت برخوردار است. این قابلیت یکی از نکات جالب توجه زبان جاوا در زمینه ی مهندسی هنرم افزار است...یک متغیر نمونه public میتواند توسط هر متدی که دارای یک مراجعه به یک شی است که حاوی متغیر نمونه باشد , خوانده یا نوشته شود...اگر متغیر بصورت privatrr اعلان شده باشد یک متد public get بطور مشخص به سایر متد ها اجازه ی دسترسی به متغیر را میدهد , اما متد get تنها میتواند در نحوه ی دسترسی کلاینت به متغیر کنترل داشته باشید..
برای مثال امکان دارد یک متد get بر فرمت برگشتی کنترل داشته باشد از اینرو همانند یک حفاظ در مقابل کد کلاینت در دسترسی به داده واقعی عمل میکند.
یک متد public set میتواند و باید به دقت مبادرت به تغییر مقدار متغیر کند تا مطمعن گردد مقدار جدید برای ان ایتم مناسب است..
برای مثال اقدام به set روز ماه 37 پذیرفته نیست.. یا تنظیم وزن یک نفر به مقدار منفی و الی اخر.. بنابراین اگرچه متد های set و get دسترسی به داده های private را فراهم می اورند ... اما این دسترسی توسط برنامه نویس به هنگام پیاده سازی متد ها با محدودیت همراه میشود
@this_java