第 4 讲:面向对象特征( 2 )

Click here to load reader

Upload: wing-guy

Post on 15-Mar-2016

105 views

Category:

Documents


6 download

DESCRIPTION

第 4 讲:面向对象特征( 2 ). 1 对象与引用 2 类. 1 对象与引用. 1.1 引用的本质 在 Java 中引用是指向一个对象在内存中的位置 , 在本质上是一种带有很强的完整性和安全性的限制的指针,当你声明某个类 , 接口或数组类型的一个变量时 , 那个变量的值总是某个对象的引用或者是 null 引用 1.2 与指针的区别 指针就是简单的地址而已 , 引用除了表示地址而外 , 还象被引用的数据对象的缩影 , 还提供其他信息 . 指针可以有 ++,-- 运算 , 引用不可以运算. 0. 0. 0. - PowerPoint PPT Presentation

TRANSCRIPT

  • 421 2

  • 1 1.1 Java,,,null 1.2 ,,,.++,--,

  • s1s210001s2=s1;a string10001class Mydate{ int year; int month; int day;} Mydate today=new MyDate()10008todays1=a string; : String s1;String s2;

  • 1.1,,.new,.JavaJavaint Array[] Array=new int[8]

  • String arrayOfString[]=new String[10] arrayOfStringfor(int i=0;i
  • str1,str2str1=str2; str1.equals(str2)String String s=this is a string; int len=s.length(); boolean result=s.equal(this is a test); char ch=s.charAt(6);StringBufferStringBuffer StringBuffer str=new Stringbuffer(hello);StringBuffer int len=str.length();:StringBuffer sb=new StringBuffer(Drink Java!); sb.insert(6,Hot ); System.out.println(sb.toString());

    Drink Hot Java!

  • 1.2public class xx {public static void main(String[] args) { String s1 = "You are hired!"; String s2 = "You are hired!"; s1 = s1.replace('h','f'); System.out.println(s1); if (s1==s2) { System.out.println();} else { System.out.println(""); }}}

  • 2.1Java(Object)class

  • 2.1class Car{ int car_number; void set_number(int car_num) { car_number=car_num;} void show_number() { System.out.println (My car No. is :+car_number); }}class CarDemo{ public static void main(String args[]) { Car Democar=new Car(); DemoCar.set_number(3838); DemoCar.show_number(); }} My car number is 3838

  • class Car{ int car_number; void set_number(int car_num) { car_number=car_num;} void show_number() {System.out.println (My car No. is :+car_number); }}class TrashCar extends Car{ int capacity; void set_capacity(int trash_car_capacity) { capacity=trash_car_capacity;} void show_capacity(); { System.out.println(My capacity is: + capacity);}}

  • 2.1 TrashCarCarclass CarDemo{ public static void main(String args[]) { TrashCar DemoTrashCar=new TrashCar(); DemoTrashCar.set_number(4949); DemoTrashCar.set_capacity(20); DemoTrashCar.show_number(); DemoTrashCar.show_capacity(); }} Car, TrashCar

  • 2.1 ? IS A BA? BA.AB?

  • 2.1 [] class [extends ][implements ] { . } 1.public 2.static static 3.final final4.abstract 5.strictfp IEEE 754friendly()

  • 2.2

  • 2.2publicprotectedprivatestaticfinaltransientvolatilefriendly() .public: class ABC{ public int pub_i=5 public void show)() { System.out.println(pub_i+pub_i);}

  • 2.2class Demo{ public static void main(String args[]) { ABC abc=new ABC(); System.out.println(abc.pub_i+abc.pub_i); abc.pub_i=10; abc.show(); }}abc.pub_i=5pub_i=10;

  • 2.2protectedprotectedpublic class ABC{ protected int pro_i=5; protected void show() { System.out.println(pro_i= +pro_i) }}

  • 2.2class DEF{ public static void main(String args[]) { ABC abc=new ABC(); System.out.println (abc.pro_i=+abc.pro_i); abc.pub_i=10; abc.show(); }}

  • 2.2import mytest.pack.ABC;class DEF extends ABC{ public static void main(String agrs[]) { DEF def=new DEF(); System.out.println(def.i); def.i=10; def.show(); }} pro_i=5pro_i=10

  • 2.2 private volatile transient

  • 2.2,.class A { int data_a=3;}class B extends A { int data_a=5;}class C extends B{ void print_out() { System.out.println(data_a= +data_a); System.out.println(A.data_a= +A.data_a); System.out.println(B.data_a= +B.data_a); }}data_a=5A.data_a=3B.data_a=5class demo{ public static void main(String args[]) { C c=new C(); c.println_out(); }}

  • 2.2(overriding)(overloading),,.,,.void show(int int_num)void show(double double_num)void show(nit nit_ um, float float_um)1231.23123,1.23

  • 2.2-----finalfinal,.final,.----staticstatic , ,class ABCD{ char data; static int_share_data; }class Demo{ ABCD a,b,c,d}

  • 2.2public,,(),

  • 2.2:class StaticError{ String mystring=hello; public static void main(String args[]) { System.out.println(mystring);}}:cant make a static reference to nonstatic variable.? .

  • 2.2:1. class StaticError{ static String mystring=hello; public static void main(String args[]) { System.out.println(mystring);}}

  • 2.22. class NoStaticError{ public static void main(String args[]) { String mystring=hello; System.out.println(mystring);} }}

  • 2.3 new

    class Demo1 //{ public static void main(String args[]) { int array[][]; array=new int[5][5]; array[1][4]=5; }} class myClass //{ int data=5;}class Demo2{ public static void main(String args[]) { myClass obj;// obj=new myClass(); System.out.println(obj.data); }}

  • 2.3Constructorfinalizerconstructor(),..class Point{ int x,y; Point() { x =0;y=0;} Point(int new_x,int new_y) { x=new_x,y=new_y;}} class UsePoint{ Point point_A=new Point(); Point point_B=new Point(5,7);}

  • 2.3 ? (),.,,.

  • 2.3 thisthisthis,.class ThisClass{ public static void main() { Bank bank=new Bank(); bank.someMethod(this); }}class Circle{ int r; Circle(int r) {this.r=r;} public area() { return r*r*3;}}

  • 2.3supersuper.public class apple extends fruits{ public apple(int price) { super(price); }} super

  • class Singleton { private static Singleton obj; public static int counter1; public static int counter2; static { // class constructor // class constructorclassJVM // static field0 // counter1counter20singletonnull obj = new Singleton(); // // counter10 counter2 = 0; // counter20 }

  • 2.3finalizefinalize()P60System.gc()

  • 2.4 static

  • compare_countexchange_countprobe_countsortMySort