Access Modifiers ගැන
මෙතන්දි අපි
private
protected
{default} -not keyword
public
ගැන කතා කරනවාprivate
මේක තමා තියෙන පොඩිම ... වගෙම වැඩිම ආරක්ශාවක් තියෙන්නේ මේ modifier එක යෙදුවා කියන්නේ .. ඒ holder ව use කරන්න පුලුවන් ඒ scope එකේ විතරයි
protected
private වගේ මයි නමුත් .. නමුත් මේක use කරන holder සමග සම්බන්දයක් තියෙන ඕනෙම කෙනෙකුට එයාගෙ scope එක අතුලෙත් use කරන්න පුලුවන්
default :
මේකට කීවර්ඩ් එකක් නෑ ... මුකුත් modifier එකක් use නොකර තියෙනකොට .. අපිට හම්බ වෙන්නේ මේ modifier එක ..මේකෙ scope එක package ලෙවෙල් එකේ තියෙන්නේ .. ඒ කියන්නේ එක ෆොල්ඩර් එකක් ඇතුලෙ ඕනෑන කෙනෙකුට ඇක්සස් කරන්න පුලුවන්
public
හ්ම් -scope එක තමා ඕනෑම package එකක කෙනෙකුට ඇක්සස් කරන්න පුලුවන්
ලේසි උදාහරනයක් කිව්වොත් හරියට අපි ඉන්න ගෙදර වගේ ...ගේ ඉස්සහර තියෙන පාරට තියෙන්නේ public access modifier එක ඕනෙ කෙනෙකුට පාවිච්චි කරන්න පුලුවන්
හෙදරට තියෙන්නේ ... default access modifier එක ... ඔයාගෙ අසල්වැසියන්ට විතරනේ ගෙදරට එන්න පුලුවන් protected access modifier එක තමා ඔයාගෙ කාමරේට තියෙන්නේ අම්මා තාත්තා අයියා ..මල්ලි නැන්දා මාමා ..පුංචි ..හොදම යාලුවා .. මොකක් හරි සම්බන්දයක් තියෙනවා .. පාරෙ යන අයව අපි කාමරේට දා ගන්නෑ නෙ
ඔන්න ඔයාගෙ කාමරේ තියෙන අල්මාරියට නම් private access modifier එක ඔයාට විතරමයි .. ඒක පාවිච්චි කරන්න පුලුවන්
Variables
variable එකක් කියන්නේ මොකද්ද ?
ඒ කියන්නේ මොකක් හරි identifier එකක් එක්ක සම්භන්ද කරපු memory location එකක්
අපිට මේ memory location එකේ value එක program execution එක throughout වෙනස් කරන්න පුලුවන් ජාවා වලදි අපි variableස් type එකක් හරි එහෙමත් නැත්නම් class එකක් විදියට හරි තමා නිරූපනය කරන්න ඕනි
java වලින් අපිට basic types 8 (primitive types) ක් දීලා තියෙනවා
byte short int char long float double boolean
මේ තියෙන්නේ ඒක වගුවක් විදියට
Java Primitive Data Types | ||||
| Type | Values | Default | Size | Range |
| byte | signed integers | 0 | 8 bits | -128 to 127 |
| short | signed integers | 0 | 16 bits | -32768 to 32767 |
| int | signed integers | 0 | 32 bits | -2147483648 to 2147483647 |
| long | signed integers | 0 | 64 bits | -9223372036854775808 to 9223372036854775807 |
| float | IEEE 754 floating point | 0.0 | 32 bits | +/-1.4E-45 to +/-3.4028235E+38, +/-infinity, +/-0, NAN |
| double | IEEE 754 floating point | 0.0 | 64 bits | +/-4.9E-324 to +/-1.7976931348623157E+308, +/-infinity, +/-0, NaN |
| char | Unicode character | \u0000 | 16 bits | \u0000 to \uFFFF |
| boolean | true, false | false | 1 bit used in 32 bit integer | NA |
මේ මුල් 7 ම numerical එව්වා ඒවල size එක පහත විදියට තමා වෙනස් වෙන්නේ
මතක තියා ගන්න ජාවා fairly strict type ලැංවේජ් එකක් කියලා ඒ කියන්නේ
int type එකකට string type එකේ value එකක් දාන්න දෙන් නෑ
int i = “hello”;
අනිවාර්යෙන්ම
incompatible
types found: java.lang.String
required: int
int i = "hello";
^දෙනවා
byte short int long
කියන types default type එක int
float double
වල double
float f = 50.5; int i =5.3;
byte b =5;
මේ හැම විදියකදිම “lose precision” error එක ලැබේවි
මේක නිවරදි කරන්න නම්
float f = (float) 50.5; or
float f = 50.5f;
int i =(int)5.3;
byte b =(byte)5;
විදියට cast කිරීම බාවිතා කරන්න වෙනවා
char c = 'a';
char c = (char) 94;
char වලට දාන්න පුලුවන් එක අකුරක් විතරයි ..ඒ නැත්නම් cast කරපු int value එකක් දන්නත් පුලුවන්
boolean b = true;
boolean වලට දාන්න පුලුවන් true හා false values විතරයි
මතක තියගන්න පිලිවෙල byte < short < int < long < float < double පොඩි එකක ලොකු එකකට දාන්න පුලුවන් ලේසියෙන්ම :P (එහෙමයි නේ) ලොකු එකක් පොඩි එකකට දාන්න යද්දි cast කරන්න ඕනි
අපි ඊ ලගට Reference Types (or class types) variables ගැන කතා කරමු


4 comments:
ආව් කොල්ල ඇට්ටි හැලෙන්න දෙනව නේහ්? එල එල ;-)
Yeapeee.......... :)
wasi machooo..
Pattaa... Pata.. Pata...
Post a Comment
මේ ගැන මොකද හිතන්නේ ?