zoukankan      html  css  js  c++  java
  • Day09_面向对象 类与对象的关系

    类与对象的关系

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

      • 动物、植物、手机、电脑.....
      • Person类、Pet类、Car类等,这些类都是用来描述/定义某一类具体的事物应该具备的特点和行为
    • 对象是抽象概念的具体实例

      • 张三就是人的一个具体实例,张三家里的旺财就是狗的一个具体实例。
      • 能够体现出特点,展现出功能的是具体的实例,而不是一个抽象的概念.

    创建与初始化对象

    • 使用new关键字创建对象

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

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

      • 1.必须和类的名字相同
      • 2.必须没有返回类型,也不能写void
    • 构造器必须要掌握

    package com.oop.demo02;
    
    //学生类
    public class Student {
        //属性:字段
        String name;//null
        int age;    //0
    
        //方法
        public void study(){
            System.out.println(this.name+"学生在学习");
        }
    }
    /*
    package com.oop.demo02;
    
    public class Application {
        public static void main(String[] args) {
    
            //类:抽象化,实例化
            //类实例化后会返回一个自己的对象!
            //student对象就是一个Student类的具体事例
            Student xiaoming=new Student();
            Student xh=new Student();
    
            xiaoming.name = "小明";
            xiaoming.age = 3;
            System.out.println(xiaoming.name);
            System.out.println(xiaoming.age);
    
            xh.name = "小红";
            xh.age =3;
    
            System.out.println(xh.name);
            System.out.println(xh.age);
        }
    }
    */
    
    package com.oop.demo02;
    
    //java ----> class
    public class Person {
        //一个类即使什么都不写,它也会存在一个方法
        //显示的定义构造器
        String  name;
        int age;
    
        //atl+ insert 构造器
    
        //实例化初始值
        //1.使用new关键字,有构造器
        //2.用来初始化值
    
        public Person() {
        }
    
        //有参构造:一旦定义有参构造,无参就必须显示定义
    
        //shift+下移全选
        public Person(String name, int age) {
            this.name = name;
            this.age = age;
        }
    }
    /* public static void main(String[] args) {
            //new 实例化了一个对象
            Person person = new Person();
            System.out.println(person.name);
        }
        构造器
            1.和类名词相同
            2.没有返回值
        作用:
            1.new 本质在调用构造方法
            2.初始化对象的值
         注意点:
            1.定义有参构造之后,如果想使用无参构造,显示的定义一个无参的构造
         Alt+ Insert
         this.  (当前类的) = (一般是参数传进来的值)
    
    */
    
  • 相关阅读:
    zoj 3627#模拟#枚举
    Codeforces 432D Prefixes and Suffixes kmp
    hdu 4778 Gems Fight! 状压dp
    CodeForces 379D 暴力 枚举
    HDU 4022 stl multiset
    手动转一下田神的2048
    【ZOJ】3785 What day is that day? ——KMP 暴力打表找规律
    poj 3254 状压dp
    C++中运算符的优先级
    内存中的数据对齐
  • 原文地址:https://www.cnblogs.com/lemonlover/p/14034178.html
Copyright © 2011-2022 走看看