zoukankan      html  css  js  c++  java
  • Java-面向对象总结-类与对象

    面向对象是Java编程中最重要且抽象的编程思想。它主要有三大特性:封装性、继承性和多态性。

    1.类与对象

    Java编程的第一步便是对创建一个类文件,将事务本身具有的属性和特征,行为等归纳起来,放入到类文件中

    类是对事物的一个抽象的描述,是一个概念,类中可以放属性和方法
    ①特征:属性
      属性又称为变量:
        成员变量:定义在类中的变量称为成员变量
             成员属性实在堆内存中保存的,所以虚拟机会默认提供初值     局部变量:定义在方法中或者方法的参数列表里的变量属于成员变量
             局部变量是在栈内存中保存的,虚拟机没有默认给它提供初值,需要定义的时候自己赋初值
             局部变量也不可以使用访问修饰符
             平级的两个代码块中,其作用域是互补干扰的;该代码块当中定义的变量,当代码块执行完毕,即立即被回收
             局部变量的引用优先级高于成员变量
    
    ②行为:方法
      方法:
        调用者不关心调用的方法内是如何实现的 
        同一个类当中的方法,互相调用时,可以直接调用
        不是同一个类当中,必须通过对象来进行调用
        返回值
          Void:代表没有返回值
          返回值类型:
            基本数据类型
            引用数据类型
          有返回值的情况下,需要有关键字return
            只要不是void返回值,那么就必须要有return关键字
            同一个方法内,return只能被执行一次,但并非只能有一个return,return后的内容将无法被执行
            中断方法体的继续执行
            没有方法返回值的情况下依然可以使用return;这个时候的return只有中断方法的功能,没有返回值的功能。方法中,可以有,也可以没有。
        参数:
          形参列表:作用是声明,提示需要的具体参数,调用者使用该方法必须传对应的参数才行
          实参列表:传值,调用具体方法的时候传入的参数列表
               形参和实参的个数、参数对应位置、参数对应的类型都必须保持一致
          定长参数:定义几个参数就是几个参数
          不定长参数:
                个数不限(0到n之间),当作数组来使用
                一般用在形参列表用,一个形参列表中,只能存在一个不定长参数,且只能放在整个形参列表的最后。 

        地址传递:

            引用数据类型:无论在项目当中如何传递内存地址,只要是同一个对象,那么一个地方修改了,另一个地方一定也会改变;区别只是修改的顺序问题

            基本数据类型:只是值传递

    package org.example;
    /*
     * 定义一个类
     */
    class People {
    
        //不定长参数定义
        void speak(int...args){
            for(int i=0;i<args.length;i++){
                System.out.println("大家好,我今年"+args[i]+"岁了!");
    
            }
        }
    
        public static void main(String[] args) {
            //对象创建格式:类名 对象名 = new 类名();
            People people = new People();//创建具体的对象
            people.speak(5,7,9);//实参列表传值
        }
    }

    2.类的实例化  

    在编码的过程中,给类赋予具体事物的含义,它就被抽象的理解为是一个对象。一个具体的实体。

    类的实例化就是创建具体的对象,格式如下:

    类名 对象名 = new 类名();

    package org.example;
    /*
     * 定义一个类
     */
    class People {
       //定义人相关的属性年龄
        int age = 18;
    
        //定义方法
        void speak(){
            System.out.println("大家好,我今年"+age+"岁了!");
        }
    
        public static void main(String[] args) {
            //对象创建格式:类名 对象名 = new 类名();
            People people = new People();//创建具体的对象
            people.speak();
        }
    }
    People people = new People();
    等号左边为定义People类型的变量people,等号右边是实例化一个具体的对象出来,等号的作用是将右边的对象赋值给左边的变量。

    3.构造方法

    创建对象是一个事物从无到有的过程;那么体现这个从无到有这个过程的行为就叫构造方法!
    从狭义上理解,创建对象的过程,就是调用了构造方法
    构造方法的特点:
          没有返回值
          构造方法名必须和类名一样
          构造方法可以有参数
          默认情况下,所有的类创建时,虚拟机都会为其添加一个无参的构造方法
          当显示的创建了构造方法后,虚拟机则不会再添加无参的构造

    4.方法重载

      各方法的方法名相同

      参数不相同

        参数的个数不相同

        参数的位置不相同

        参数的类型不相同

      和返回值和修饰符无关

      根据传递的实参来确定调用哪一个

  • 相关阅读:
    linux 中字符映射错误,#、、|、“ 不能输入
    Qt::Key_Return Qt::Key_Enter 区别
    如何监控系统用户实时执行的Linux命令
    a3考卷转2张a4
    kali
    字典序最小问题(贪心)
    nmap 目标指定
    debian 系统安装最新版本nmap方法:
    TransCAD是由美国Caliper公司开发的一套强有力的交通规划和需求预测软件
    GIS 地图的图层(切片/瓦片)概念
  • 原文地址:https://www.cnblogs.com/momo-nancy/p/15226873.html
Copyright © 2011-2022 走看看