Java学习第八天——面相对象

时间:2021-06-07 21:04:30   收藏:0   阅读:0

面向对象

一、什么是面相对象?

二、回顾方法的定义

  1. 修饰符、返回值类型

  2. break和return的区别

    • break跳出Switch循环

    • return代表方法结束,返回一个结果

  3. 方法名:注意规范(小写字母开头,驼峰规则)

  4. 异常

    public class Demo02 {
       public static void main(String[] args) {
           Demo02.add(5,4);
      }
       public static int add(int a,int b){
           return a+b;
      }
    }

三、回顾方法的调用

  1. 有static修饰符定义的方法是静态方法,不用实例化一个对象就能调用。

     

  2. 没有static修饰符定义的方法是非静态方法,只能通过实例化一个对象来调用

    //此程序出错
    public static void a(){//通过static关键字定义的方法和类一起加载
       b();//存在的调用不存在的,所以会报错
    }
    public void b(){//类实例化之后才存在
       
    }
    public class Demo03 {
       public static void main(String[] args) {
          // Demo03.add(2,4);   出错
           Demo03 demo03 = new Demo03();
           //实际参数的类型要和形式参数的类型要相对应
           demo03.add(3,4);
      }
       public int add(int a,int b){
           return a+b;
      }
    }

四、类与对象的关系

  1. 类是一种抽象的数据类型,它是对一类事物整体描述/定义,但是并不能代表某一个具体的事物

  1. 对象是抽象概念的具体实例

五、创建与初始化对象

public class Demo05 {
  //引用传递:对象,本质还是值传递
  //对象,内存!
  public static void main(String[] args) {
      Person person = new Person();
      System.out.println(person.name);   //null
?
      Demo05.change(person);
      System.out.println(person.name);   //张信哲
?
  }
  public static void change(Person person){
//       person是一个对象:指向的 --->Person person = new Person();这是一个具体的人,可以改变属性
      person.name = "张信哲";
  }
}
?
//定义了一个Person类,有一个属性name
class Person{
  String name; //null
}
  1. 使用new关键字创建对象

  2. 使用new关键字创建对象的时候,除了分配内存空间外,还会给创建好的对象进行默认的初始化以及对类中构造器的使用

  3. 类中的构造器也成为构造方法,是在进行创建对象的时候必须要调用的。

    //学生类
    public class Student {
    //   属性
       String name;
       int age;
    //方法
       public void study(){
           System.out.println(this.name+"在学习");
      }
    //学程序好,对世界进行更好的建模!---宅!音乐,旅游
    }
    ?
    ?
    ?
    ?
    public class Application {
       public static void main(String[] args) {
    //       类,抽象的,实例化
    //       类实例化后会返回一个自己的对象
    //       xh对象就是一个Student类的具体实例!
           Student xiaoming = new Student();
           Student xh = new Student();
    ?
           xiaoming.name = "小明";
           xiaoming.age = 3;
    ?
           System.out.println(xiaoming.name);
           System.out.println(xiaoming.age);
    ?
           System.out.println(xh.name);
           System.out.println(xh.age);
      }
    }
    public class Demo04 {
       //值传递
       public static void main(String[] args) {
           int a =1;
           Demo04.change(a);
           System.out.println(a);
      }
       //返回值为空
       public static void change(int a){
           a = 10;
      }
    }

六、构造器详解

七、创建对象内存分析

技术图片

八、简单小结类与对象

  1. 类与对象

    类是抽象的,是一个抽象模板。对象是一个具体的实例

  1. 方法:定义和使用

  2. 对应的引用:对象是通过引用来操作的。栈--->堆

  3. 属性:字段Field 成员变量

    默认初始化:数字:0 0.0

    char:u0000

    boolean:false

    引用:null

    修饰符属性类型属性名=属性值;

  4. 对象的创建和使用:必须使用new关键字创建对象,构造器

    Person person = new Person();
    //对象的属性person.name;
    //对象的方法person.sleep();
  5. 静态的属性属性

    动态的行为方法

封装、继承、多态 ---> 重点

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!