Java面向对象概念

来源:互联网 发布:尔湾安全知乎 编辑:程序博客网 时间:2024/06/05 07:05

面向对象

面向对象概念

package com.cloud.day2;

/*

java面向对象的语言


对象:真实存在唯一的事物。

类:实际就是对某种类型事物的共性属性与行为的抽取。 抽象的概念....  


我们从小的时候就不断的接触很多的对象,我们的大脑就会把

这些具备相同属性与行为的事物进行分类。


在现实生活中就存在对象与类这两种事物。计算机是服务于人类,为了让计算机更加接近我们的

生活,这时候就出现了面向对象的计算机语言。

      面向过程(C                 面向对象(java


现实生活中 :对象---------

java中:------------>对象


面向对象的计算机语言核心思想:找适合的对象做适合的事情。

如何找适合的对象:

   1. sun已经定义好了很多的类,我们只需要认识这些类,我们就可以通过这些类创建对象使用。

   2. 自定义类,通过自定义类来创建对象使用。

自定义类创建对象的三步骤:

   1. 自定义类。

        格式:

           class类名{

             事物的公共属性使用成员变量描述。

             事物的公共行为使用函数描述。

           }

   2. 通过自定义类创建对象。

        格式:

          类名变量名 =  new类名();

   3. 访问(设置)对象的属性或者调用对象的功能。

      1.访问对象属性的格式:

        对象.属性名.

      2.设置对象的属性:

        对象.属性名 =数据。

      3.调用对象的功能

        对象.函数名();

*/

class Car{

   String name;

   String color;

   intwheel;

   publicvoid run(){

      System.out.println(name+":跑的快...");

   }

}

publicclass Demo1 {

   publicstatic void main(String[] args) {

      Car c1 = new Car();

      c1.name="大众";

      Car c2 = new Car();

      c2.name="宝马";

      c1 = c2;

      System.out.println(c1.name);

   }

}

案例二

package com.cloud.day2;

class Car1{

   String name;

   String color;

   intwheel;

   publicvoid run(){

      if(wheel>=4){

        System.out.println(name+":跑的快...");

      }else{

        System.out.println(name+":跑的慢...需要修理...");

      }

   }

}

class CarFactory{

   String name;

   String address;

   String tel;

   publicvoid repair(Car1 c){

      if(c.wheel>=4){

        System.out.println("没有问题处理...");

      }

      else{

        c.wheel=4;

        System.out.println("问题解决...");

      }

   }

}

publicclass Demo2 {

   publicstatic void main(String[] args) {

      Car1 c = new Car1();

      c.name ="BWM";

      c.color ="白色";

      c.wheel = 3;

      for(int i=0 ; i<10 ; i++){

        c.run();

      }

      CarFactory cf = new CarFactory();

      cf.repair(c);

   }

}

成员变量和局部变量

package com.cloud.day2;

/*

成员变量与局部变量的区别:

   定义的位置上区别: 

      1.成员变量是定义在方法之外,类之内的。

      2.局部变量是定义在方法之内。

   作用上的区别:

      1.成员变量的作用是用于描述一类事物的公共属性的。

      2.局部变量的作用就是提供一个变量给方法内部使用而已。

   生命周期区别:

      1.随着对象的创建而存在,随着对象的消失而消失。

      2.局部变量在调用了对应的方法时执行到了创建该变量的语句时存在,局部变量一旦出了自己的作用域

      那么马上从内存中消失。

   初始值的区别:

      1.成员变量是有默认的初始值。

          数据类型     默认的初始值

          int                0

           float              0.0f

           double              0.0

           boolean            false

           char                 ' '

           String(引用数据类型) null

      2.局部变量是没有默认的初始值的,必须要先初始化才能使用。

 */

class Person {

   String name;

   publicvoid age(){

      int age;

      age = 12;

      for(int i=0 ; i<5 ; i++){

        System.out.println("HELLO:"+age);

      }

   }

}

publicclass Demo3 {

   publicstatic void main(String[] args) {

      Person p1 = new Person();

      p1.age();

   }

}

匿名对象

package com.cloud.day2;

/*

匿名对象:没有引用类型变量指向的对象称作为匿名对象。

需求:使用 java类描述一个学生类。

匿名对象要注意的事项:

   1. 我们一般不会给匿名对象赋予属性值,因为永远无法获取到。

   2. 两个匿名对象永远都不可能是同一个对象。


匿名对象好处:简化书写。

匿名对象的应用场景:

   1. 如果一个对象需要调用一个方法一次的时候,而调用完这个方法之后,该对象就不再使用了,这时候可以使用

   匿名对象。

   2. 可以作为实参调用一个函数。

*/

class Student {

   intnum;

   String name;

   publicvoid study(){

      System.out.println("Study");

   }

}

publicclass Demo4 {

   publicstatic void main(String[] args) {

      Student s = new Student();

      s.study();

      new Student().study();

   }

}

0 0
原创粉丝点击