Java面向对象(一)

    xiaoxiao2021-03-25  173

    ·将功能封装进对象,强调具备了功能的对象

    ·java里面有对象用对象,没有对象,那么就创造对象,用对象,之后还要维护各种对象之间的关系

    注意

    1.面向对象强调 :具备了功能的对象,将功能封装进对象 2.OOP :object-oriented programming面向对象编程

    3.面向对象的三大特征:封装、继承、多态

    4.类(class)是抽象的,概念性的。对象(Object)是实实在在存在的,“看得见”,“摸得着”

    5.对象也叫类的实例(instance)

    6.面向对象编程的关键是类的设计

    7.类的设计就是,设计类中包含的内容(类的成员)

    8.对象的类型是类

    9.先设计类,在通过类来创建出一个个的对象

    10.通过类来创建对象,也可以说成使用类来实例化一个对象

    11.对象跟类的实例化是一个意思

    12.类不占内存,对象才占内存

    类的成员

     1.属性(成员变量、全局变量、Field)

     2.方法(成员方法、成员函数、Method)

     3.构造器 

     创建类的格式

     [修饰符] class 类名

      {

         属性

           方法

        }

      

      类的修饰符:public abstractfinal 缺省

      修饰符public:类可以被任意访问

      类的正文要用{ }括起来

     

    属性

         格式:

        [<修饰符>] 类型<属性名> [=初值] ;

         注意:类型可以是任何基本类型,如int、boolean或任何类。也可以是引用数据类型

         [<修饰符>]: 

         修饰符public: 该属性可以被本类以外的方法访问。

         修饰符private: 该属性只能由本类的方法访问。

         修饰符protected:

         缺省

      

      成员变量vs局部变量

         相同点:

         1.类型 名=初始值;

         2.都有作用范围 {}

         不同点:

         1.定义的位置来说:

                  成员变量:类的内部,方法的外部

                  局部变量:方法的内部,形参,代码块

         2.权限修饰符:

                成员变量: public protectied 缺省 private

                局部变量:无修饰符,跟所在的方法的修饰符一致

         3.都有初始值:

                成员变量:可以不显示的指定初始值,系统会分配默认的初始值

                     byte\short\int\long\→  0

                     char→  空

                     floatdouble  → 0.0

                     boolean  →   false

                     引用类型  →  null

                局部变量:必须显示的指定初始值,系统不会分配默认的初始值

        4.内存中的位置:

                成员变量存储在堆中!

                局部变量存储在栈中!

     总结:变量的分类

             按类型分:基本数据类型和引用数据类型

             按位置分:局部变量和成员变量

    public String name; private String sex; protected int age; //方法 public void eat(){ int i=9;//局部变量 System.out.println("eating"); } public void walk(){ System.out.println("walking"); } } 创建对象

    使用关键字 new + 构造器

          Personp1 = new Person();

          System.out.println(p1);

         使用对象名.属性 

          对象.方法的方式来调用属性跟方法

    p1.walk(); p1.eat(); p1.age=30; p1.name="韩超"; p1.sex="男"; System.out.println(p1.age); System.out.println(p1.sex); System.out.println(p1.name); 匿名对象

    1.我们也可以不定义对象的句柄,而直接调用这个对象的方法。这样的对象叫做匿名对象,如:new Person().shout();

     2.如果对一个对象只需要进行一次方法调用,那么就可以使用匿名对象。

    3.我们有时会将匿名对象作为实参传递给一个函数调用。

    //1new1世界 new Person().eat(); new Person().walk(); Person p2 =new Person(); testNiMing(p2); //将匿名对象作为实参传递给一个函数调用。 public static void testNiMing(Person person){ person.eat(); }

     面向对象的三大特性: 封装、继承、多态

    转载请注明原文地址: https://ju.6miu.com/read-4470.html

    最新回复(0)