面向对象

面向对象

   面向对象思想:从对象入手,把需要的相关的对象,  都找出来,借助对象和对象的配合     (实现需求)
   对象:万物皆对象
   对象的构成: 属性(外观,年龄,体重,身高)
   方法:(行为,会干什么)

计算机的对象:内存中存储的对象

  面向对象的 优点:
            弱耦合性(对象和对象的联系尽量弱化)
            可重用
            可扩展

类和对象

       关系:  类是对象的模板   对象是类的实例

定义类:

   类的构成:属性和方法

类的创建
面向对象_第1张图片
在这里插入图片描述
在这里插入图片描述
实际:
面向对象_第2张图片
成员变量~局部变量
面向对象_第3张图片
方法重载:OverLoad

  概念:在一个类中,定义的多个方法名相同,
               但是形参列表不同的方法
   语法要求:
               - 方法名必须和类名完全一致
               - 方法的修饰符,返回值类型,异常没有要求
               - 形参列表不弄(数据类型,个数,顺序)

面向对象_第4张图片
注意:

      1) 不允许手动调用,创建对象时 由JVM自动调用(根据创 建对象时的实参决定调哪个构造方法);     
     2) 在一个类中,如果没定义任何形式的构造方法,则系统会 默认分配一个 公开 无参的构造方法;
     3) 在一个类中,一旦定义了构造方法,则系统 不再分配  默认的 公开 无参的构造方法。 

对象的创建过程:

    分配堆空间       给属性附默认值
    初始化属性       根据属性的定义 ,给属性附初值
    调用构造方法           给属性再次赋值,是创建对象是
                                        指定的构造方法的实例参数

this 关键字

this:代表当前对象,是引用
分为两种:

   this.可以用在构造方法中和成员方法中
   语法:  this.属性名          当前对象的属性名
                 this.方法名(实参)       当前对象的方法名
       注:this.可以省略,当成员变量和局部变量重名时,必须用this.来区分成员变量

………

   this(实参)
   总在构造方法中
   语法:this(实参)  当前类中的其他构造方法
   注:必须是构造方法的第一行
           不可以用递归调用

………………
引用:

基本类型
  int b=5;
 引用类型
   Student  c=new Student( );
   引用传递的是地址,基本数据类型传递
    的是数值

………………

空指针异常:java.lang.NullpointerException
      如果用null调用对象的属性和方法,运行时会报错
              Student  a  =  null ;
              System.out.println(a.null) ;

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

你可能感兴趣的:(笔记)