Más contenido relacionado


03_Objects and Classes in java.pdf

  1. Nihar Ranjan Roy
  2. WHAT IS A CLASS?  It is defined as a blueprint or a template from which an object is declared [access specifier] [modifiers] class <class name> { ……………… Members of the class …………….... } 2
  3. RULES FOR NAMING A CLASS  A class name should not be a keyword in java  Name can begin with letter, an _ or $  Name should not contain embedded space or period(.)  It can be of any length 3
  4. WHAT IS AN OBJECT?  Its an instance of a class.  Its maintains its states in variables and implements its behavior with its methods <Class name><object name>; Example Student obj; Obj=new Student(); Objt=new Student(..arguments); Or Student obj=new Student(); 4
  5. MEMBERS OF A CLASS Members of a class variables Instance variables Class variables Methods 5
  6. HOW TO DECLARE METHODS? Syntax [access specifier][modifier]<return_type> method_name([Parameters]) { //body } Example int add(int a , int b) {return (a+b);} 6
  7. HOW TO ACCESS THE MEMBERS? Obj.<member name>; ClassName.<member>; for static members 7
  8. NEW OPERATOR? Declaration Student obj; obj Creation obj=new Student() obj NULL address Name Roll 8
  9. PROBLEM Create class named student whose members are Name// to store student name Roll //to store his roll no Init_mem(parameters) //to initialize the members Disp() // display name and roll 9
  10. 10 class Student { String name; int roll; void set_Value(String n,int r) { name=n; roll=r; } void disp() { System.out.println("Name is==>"+name); System.out.println(“Roll is==>"+roll); } } class StudentMClass { public static void main(String args[]) { Student st=new Student(); st.set_Value("Nihar",1); st.disp(); } }
  12. CONSTRUCTORS 1. A constructor is a special function having the same name that of the class. 2. It has no return type 3. And is invoked through new operator Syntax [Modifier]<class_name>([Parameter list]) { //Body of constructor } 12
  13. TYPES OF CONSTRUCTORS Student obj=new Student(); Student obj=new Student( name, roll); Student obj1=new Student (obj) 13
  14. PROBLEM Create class named student whose members are Name// to store student name Roll //to store his roll no Disp() // display name and roll Implement Default constructor Parameter Constructor Copy Constructors 14
  15. 15 class Student { String name; int roll; Student() { System.out.println("===Default===");} Student(String n,int r) { name=n; roll=r; System.out.println("===parameter==="); } Student (Student st) {; roll=st.roll; System.out.println("===Copy==="); } void disp() { System.out.println("nName is==>"+name+"nRoll no is==>"+roll); } } Default Parameter Copy
  16. 16 class StudentCClass { public static void main(String args[]) { Student st=new Student(); st.disp(); Student st1=new Student("Nihar",1); st1.disp(); Student st2=new Student(st1); st2.disp(); } } Default Parameter Copy
  17. class Student { String name; int roll; /*Student() { System.out.println("===Default===");}*/ Student(String n,int r) { name=n; roll=r; System.out.println("===parameter==="); } void disp() {System.out.println("nName is==>"+name+"nRoll no is==>"+roll); } } 17 Default Commented Parameter cannot find symbol symbol : constructor Student() location: class Student Student st=new Student(); Student st=new Student();
  18. WHAT ARE DESTRUCTORS? Finalizers are methods that are called immediately before an object is garbage collected Syntax protected void finalize() { } 18
  19. KEYWORD “ THIS” this is used to indicate the current object. Class Color {int r,g,b; Color(int r, int g, int b) { r=r, g=g, b=b; } } this.r=r, this.g=g,this.b=b; 19
  21. PUBLIC public class Student { public String name; public int roll; public void disp() {……… …… } } Accessible from all other classes Inner classes cannot have public access specifiers Only one public class can be declared in a source file 21
  22. PRIVATE  Only objects of the same class can have access to private members  This provides highest degree of protection  Subclasses cannot derived private members 22
  23. PROTECTED  Members declared as protected are accessible from the class itself and its sub class also. 23
  24. UNSPECIFIED/DEFAULT/FRIENDLY  If non of the access specifiers are specified then it has package level access i.e all the classes in the same package can access it. 24
  25. CONCLUSION 25 None /default (package) class interface member Accessible only in its package Accessible only in its package Accessible only in its package private member Accessible only in its class(which defins it). protected member Accessible only within its package and its subclasses public class interface member Accessible anywhere Accessible anywhere Accessible anywhere its class is.
  26. MODIFIERS IN JAVA Modifiers static final abstract native transient synchronize volatile 26
  27. 27 Modifier Used on Meaning abstract class interface method Contains unimplemented methods and cannot be instantiated. All interfaces are abstract. Optional in declarations No body, only signature. The enclosing class is abstract final class method field variable Cannot be subclassed Cannot be overridden and dynamically looked up Cannot change its value. static final fields are compile-time constants. Cannot change its value. native method Platform-dependent. No body, only signature strictfp class method All methods in the class are implicitly strictfp. All floating-point computation done is strictly conforms to the IEEE 754 standard. All values including intermediate results must be expressed as IEEE float or double values. It is rarely used. MODIFIERS….
  28. MODIFIERS…. 28 static class method field initializer Make an inner class top-level class A class method, invoked through the class name. A class field, invoked through the class name one instance, regardless of class instances created. Run when the class is loaded, rather than when an instance is created. synchronized method For a static method, a lock for the class is acquired before executing the method. For a non-static method, a lock for the specific object instance is acquired. transient field Not be serialized with the object, used with object serializations. volatile field Accessible by unsynchronized threads, very rarely used.
  29. PROBLEM Write a program in which when ever an object is created of that class it prints the no of objects created till now 29