java基础

来源:互联网 发布:好看的纪念日软件 编辑:程序博客网 时间:2024/06/06 03:30

匿名对象:

   匿名对象是对象的简化形式

    匿名对象两种使用情况

          1、当对对象方法仅进行一次调用的时

          2、匿名对象可以作为实际参数进行传递

变量的使用原则:

  就近原则

      如果在局部找到了,使用局部变量
      如果在类中的成员位置找到了,使用成员变量
      如果在类中也没有找到,报错

this关键字:

  this代表其所在函数所属对象的引用

  this关键字的使用:

       1、在局部变量和成员变量重名时,使用this关键字来区分

       2、在构造函数中使用

封装:

   是指隐藏对象的属性和实现细节,仅对外提供公共访问方式

private关键字:

        是一个权限修饰符。
        用于修饰成员(成员变量和成员函数)
        被私有化的成员只在本类中有效

    将成员变量私有化,对外提供对应的set ,get方法对其进行访问。
    提高对数据访问的安全性

成员变量和局部变量的区别?

    代码位置:
        成员变量:在类中方法外
        局部变量:在方法内
    
    内存位置:
        成员变量:堆内存中
        局部变量:栈内存中

    是否有默认值:
        成员变量:有默认值
        局部变量:没有默认值

    使用范围:
        成员变量:在整个类中都可以访问
        局部变量:只能在该方法中访问

    创建时间:
        成员变量:随着对象的创建而存在,随着对象的释放而消失    生命周期长
        局部变量:随着方法的调用而存在,随着方法使用完毕而消失

什么是面向对象?

    1、面向对象是相对面向过程而言
    2、它是一种编程的设计思想

         (面向对象思想的特点)

             >是一种符合人们思考习惯的思想
             >可以将复杂的事情简单化
             >将程序员从执行者转换成了指挥者
    3、举例说明 面向对象 做菜 (面向过程:自己做,需要计划买,去哪买,怎么做等;面向对象:只要找个对象,让她去做),旅游,买电脑

继承

   概述:

    多个类中存在相同属性和行为时,将这些内容抽取到单独一个类中,那么多个类无需再定义这些属性和行为,只需继承那个类即可。多个类为子类,单独类为父类或超类。

    子类可以访问父类中非私有的属性和行为。单一继承。用extends关键字让类与类之间产生继承关系。

    如果一个类声明为final,那么该类是一个最终类,不能拥有子类。

  作用:

     1、提高了代码的复用性。 

     2、让类与类之间产生了关系,提供了多态的前提。

方法重写和方法重载

   重载(overload):同一个类中,方法名相同,参数列表不同(参数个数、参数顺序、参数类型)。

   重写(override):也叫覆盖。子类继承父类,子类中和父类中的方法名、参数个数、类型完全一致,就称子类的这个方法重写了父类的方法。

         注意:覆盖时,子类的方法权限一定要大于等于父类的方法权限;静态方法只能覆盖静态方法;父类中的私有方法不可以被覆盖。

                    子类可通过super.方法名来访问父类中的同名方法。

         子类中所有的构造函数默认都会访问父类中空参数的构造函数。因为每一个构造函数的第一行都有一条默认的语句super();。当父类中没有空参数的构造函数时,子类的构造函数必须通过this或者super语句指定要访问的构造函数。

编译

   只是检查语法的合法性

静态成员与普通成员的区别

   1、内存中位置

                       普通成员:堆内存

                       静态成员:方法区

   2、创建时间与销毁时间

                       普通成员:随着对象创建而存在,随着对象消失而消失

                       静态成员:随着类的加载而存在,随着类的消失而消失(生命周期长)

   3、调用区别

                       普通成员:对象.成员

                       静态成员:对象.成员     类名.成员

   4、理解的区别

                      普通成员:它是成员变量,是每个对象单独拥有的

                      静态成员:它是类变量,所有对象共享同一个变量

静态代码块

   只执行一次,且在main方法前执行。

   作用:静态代码块使用来加载驱动的,因为驱动只加载一次。

静态方法

   静态方法只能调用静态变量和静态方法,不可以写this和super关键字,内部不可定义静态变量。

static关键字

   用于修饰成员变量和成员方法。修饰后为静态成员,见上。

构造函数

    用来为对象初始化数据。没有具体的返回值。如果类中没有声明任何构造方法,则系统会为当前类增加一个不带任何参数的构造方法;如果程序中有构造函数,jvm就不会给他加空的构造函数。重载经常用于构造方法。

数组定义格式

   1、 int[] arr;  arr = new int[5];
   2、 short[] arr = new short[]{1,2,3,4};
   3、 char[] arr = {'a','b','c'};


0 0