zoukankan      html  css  js  c++  java
  • java面向对象概念2

    一、理解“万事万物皆对象”。

    1.在java语言范畴中,我们都将功能、结构等封装到类中,通过类的实例化,来调用具体的功能结构。

    2.涉及到java语言与前端html、后端的数据库交互时,前后端的结构在java层面交互时,都体现为类、对象。

    二、匿名对象

    1.理解:我们创建的对象,没有显式的赋给一个变量名。即是匿名对象。

    2.特征:匿名对象只能调用一次。

    3.使用场景:

        格式:new People . eat();通过People的匿名对象调用eat方法

        适合场景:当一个方法中形参是一个我们所创建的类的变量时,可以直接通过sleep.show(new People());快速导入该类的实例赋值给形参。

    三、再谈方法:

    1.方法的重载:

    在同一个类中,允许存在一个以上的同名方法,只要它们的参数个数或者参数类型不同即可。

    2.重载的特点:

    与返回值无关,只看参数列表,且参数列表必须不同。(参数个数或者参数类型)调用时,根据方法的参数列表的不同来区别调用的是哪个方法。

    3.可变个数形参的方法:

    javase5.0中新增了Varargs机制,允许直接定义能和多个实参相匹配的形参。从而,可以用一种更简单的方式,来传递个数可变的实参。

    *具体使用:

    3.1可变个数形参的格式:数据类型...变量名

    public void show(String ... strs){
    }

    3.2当调用可变个数形参的方法时,传入的参数个数可以是:0个、1个、2个...

    3.3可变个数形参的方法与本类中方法名相同,形参不同的方法之间构成重载。

    3.4但是注意,可变个数形参的方法与本类中方法名相同,形参类型也相同的数组之间不构成重载。其实二者功能相同,只不数组是5.0之前用来传可变参数的。代码如下:

    public void show(String[] strs){
    }

    3.5可变个数形参在方法的形参中,必须声明在末尾

    3.6可变个数形参在方法的形参中,最多只能声明一个可变形参。

    4.方法参数的值传递机制:

    关于变量的赋值:

      如果变量是基本数据类型,此时赋值的是变量所保存的数据值。

      如果变量是引用数据类型,此时赋值的是变量所保存的数据的地址值。

    方法的形参的传递机制:值传递

    1.值传递机制:

    *如果参数是基本数据类型,此时实参赋给形参的是实参真实存储的数据值。

    这个是什么意思呢?请看下图:

    在main和swap方法中,m和n都是局部变量,前面提到过,凡是局部变量都是加载在栈中的,于是就变成上图所示情况,所以之后在main中打印m,n其实打印的是main中本来的m,n。

    *如果参数是引用数据类型,此时实参赋给形参的是实参存储数据的地址值。

    这个又是什么意思呢?请看下图:

    5.递归方法:

    5.1方法递归包含了一种隐式的循环,它会重复执行某段代码,但是这种重复执行无须循环控制。

    5.2递归一定要向已知方向递归,否则这种递归就变成了无穷递归,类似于死循环。

     末尾一道有意思的题目:

    int[] arr = new int[]{1,2,3,4};
    System.out.println(arr);//地址值
    
    char[] arr1 = new char[]{'a','b','c'};
    System.out.println(arr1);

    打印后会发现,第一个打印的是一个地址值,第二个打印的却是a,b,c。

    这是为什么呢?

    原来在println方法中,第一个调用的是println(Objiect)方法,而println有一个专门的println(char【】)方法,第二个调用的是这个,所以打印的结果不同。

  • 相关阅读:
    Qt之加载QSS文件
    Qt之QSS(黑色炫酷)
    Sublime Text 2 快捷键
    QTablewidget 简单例子
    QTableview 只显示横向线
    Qt删除文件夹
    Ubuntu(Debian)apt-get
    C++中char*与wchar_t*之间的转换
    Qtl和JS、HTML通信/交互
    浅谈Socket编程
  • 原文地址:https://www.cnblogs.com/liuhuan425/p/10755927.html
Copyright © 2011-2022 走看看