美文网首页学习路线--Java SE
Chapter9 Java面向对象

Chapter9 Java面向对象

作者: Mr董先森 | 来源:发表于2018-03-03 20:47 被阅读0次

    Lecture1 初始面向对象

    • 面向对象:关注现实存在的事物的各方面信息,从对象的角度出发,根据事物的特征进行程序设计
    • 类:类是模子,是一个抽象的概念,确定对象将会拥有的特征(属性)和行为(方法),是具有相同属性和方法的一组对象的集合
    • 对象:对象是类的实例化表现,是一个用来描述客观事物的实体
    • 类是对象的类型,对象是特定类型的数据
    • 属性和方法:属性--对象具有的各种静态特征;方法--对象具有的各种动态行为
    • 包的推荐命名规则:
      • 均使用小写英文字母
      • 采用域名的倒序

    Tips:类中的成员属性默认有初始值

    • 成员属性的默认值
    基本类型 默认值
    byte 0
    short 0
    int 0
    long 0L
    float 0.0f
    double 0.0
    char '\u0000'
    boolean false
    引用类型 null
    • 单一职责原则:又叫单一功能原则;一个类应该有且只有一个引起功能变化的原因;如果一个类所承载的功能越多,它的交融耦合性就越高,可复用性就越低
    • 实例化对象的过程可以分成两个部分:
      1. 声明对象(发生在栈空间,在栈中开辟空间,储存的是实例化对象的堆空间的内存地址)
      2. 实例化对象(发生在堆空间,完成对象的初始化操作)

    Lecture2 构造方法介绍

    • 构造方法:又称为构造方法,构造器

    • 构造方法结构:

      1. 构造方法名与类名相同且没有返回值
      2. 构造方法的语法格式:
      public 构造方法名(参数列表){
        初始代码块;
      }
      
      1. 构造方法只能在对象实例化的过程中调用
      2. 当没有指定构造方法时,系统会自动添加无参的构造方法
      3. 当存在指定的构造方法时,无论是有参还是无参的构造方法,系统都不会再自动添加无参的构造方法
      4. 一个类中可以有多个构造方法
    • 就近原则:优先寻找同一个作用范围内的同名元素

    • this关键字:代表当前对象的默认引用

    • this关键字的使用:

      1. 调用成员属性,解决成员属性和局部变量的同名冲突
      2. 调用同一个类中的其他成员方法
      3. 调用重载的构造方法,构造方法在类内不能直接被普通成员方法调用,但可以使用this(参数列表);调用构造方法,this(参数列表);必须放在方法体内的第一行
        vio
    • chapter9 面向对象案例:

    package Chapter9.Lecture1.cat;
    
    /**
     * 宠物猫类
     */
    public class Cat {
        //成员属性:昵称、年龄、体重、品种
        String name;    //昵称,String类型默认值为null
        int month;  //年龄,int类型默认值为0
        double weight;  //体重,double类型默认值为0.0
        String species; //品种
    
        //无参构造方法
        public Cat() {
            System.out.println("我是无参构造方法");
        }
    
        //带参构造方法
        public Cat(String name, int month, double weight, String species) {
            this.name = name;
            this.month = month;
            this.weight = weight;
            this.species = species;
        }
    
        //成员行为:跑动、吃东西
        //跑动的方法
        public void run() {
            System.out.println("小猫快跑");
        }
    
        public void run(String name) {
            System.out.println(name + "快跑");
        }
    
        //吃东西的方法
        public void eat() {
            System.out.println("小猫吃鱼");
        }
    }
    
    package Chapter9.Lecture1.cat;
    
    public class CatTest {
        public static void main(String[] args) {
            //对象实例化
            Cat one = new Cat();
            //测试
            one.eat();
            one.run();
            System.out.println("==================");
            one.name = "花花";
            one.month = 2;
            one.weight = 1000;
            one.species = "英国短毛猫";
            System.out.println("昵称:" + one.name);
            System.out.println("年龄:" + one.month);
            System.out.println("体重:" + one.weight);
            System.out.println("品种:" + one.species);
            System.out.println("==================");
            one.run(one.name);
        }
    }
    
    

    相关文章

      网友评论

        本文标题:Chapter9 Java面向对象

        本文链接:https://www.haomeiwen.com/subject/xfzoxftx.html