zoukankan      html  css  js  c++  java
  • 学习笔记4

    Switch 的表达式可以为byte,short,int,char,JDK7之后的版本可以为string。

    带标签的语句:可以直接跳出多层循环。

           如:

                  loop1 : for( int i=0;i<100;i++){

                    loop2 : for (int j=0;j<i;j++){

                                       if (条件){

           break loop1; // or break loop2;

    }

    }

                           }

    Static关键字的特点:(可以修饰成员变量,也可以修饰成员方法)

    1.       随着类的加载而加载

    2.       优先于对象存在

    3.       被类的所有对象共享

    4.       可以通过类名调用,也可以通过对象名调用(一般用类名调用)

    5.       静态方法只能访问静态成员变量和静态成员方法。

    静态变量和成员变量的区别:

    1.       所属不同

    静态变量属于类,所以也称为类变量

    员变量属于对象,所以也称为实例变量(对象变量)

    2.       内存中的位置不同

    静态变量存储于方法区的静态区

    成员变量存储于堆内存

    3.       内存出现时间不同

    静态变量随着类加载而加载,随着类消失而消失

    成员变量随着对象创建而创建,随着对象消失而消失

    4.       调用不同

    静态变量可以通过类直接调用,也可以通过对象调用

    成员变量只能通过对象调用。

    将一个类的构造方法私有(private),其余成员和方法全部设为static,则类中的成员变量和成员方法将不能够通过创建对象来访问,只能通过类名去访问成员和方法。

    Java.lang包不需要import,其他的包都需要import

    代码块:

    静态代码块(只执行一次),构造代码块(每次调用构造方法都执行),构造方法。

    继承的优点:

           提高了代码的复用性

           提高了代码的维护性

           让类与类产生了关系,是多态的前提。

           缺点:高耦合性。

    thissuper的区别:

           this代表本类对应的引用

           super代表父类存储空间标识(父类的引用,可以操作父类的成员)

           使用:

    1.       调用成员变量

    a)         this.成员变量

    b)        super.成员变量

    2.       调用构造方法

    a)         this(…)

    b)        super(…)

    3.       调用成员方法

    a)         this.成员方法

     

    b)        super.成员方法

    方法重写(override,子类继承父类方法并进行重写)

           方法重载(overload,同一个类中,方法名相同参数不同的方法)

           Final可修饰类、变量、方法

                  修饰变量时,可修饰基本类型和引用类型。

                         修饰基本类型:变量值不能改变。

                         修饰引用类型:地址值不能改变。

           多态:

                  父类的引用指向子类对象。

                  Father f = new Son();

                  子类继承父类的方法,所以f调用父类方法时,实际调用的是子类重写的父类方法。

                  多态的缺点:

                         不能调用子类中特有的方法。(解决方法:对象向下转型)

    Father f = new Son(); (向上转型)(f调用成员变量时调用的是父类成员,调用

    成员方法时调用的是子类的方法(只能是重写的父类的方法,特有的额方法不行)。)

    Son s = (Son) f;(向下转型)(s调用成员变量时,调用的是子类成员,可以调用子类的所有方法(包括重写的父类的方法和子类特有的方法。))

                  多态中的成员访问特点:

    1.       成员变量

    编译看左边,运行看左边

    2.       构造方法

    创建子类对象时,访问的是父类的构造方法,对父类的数据进行初始化。

    3.       成员方法

    编译看左边(只能调用子类重写的父类方法),运行看右边(调用子类方法)。

           抽象类有构造方法,但是不能实例化。该构造方法的作用是用于子类访问父类数据的初始化。

           抽象类可以通过多态实例化子类(父类引用指向子类对象)(对象转型)。

           抽象类的成员特点:

    1.       成员变量:可以是变量,也可以是常量

    2.       构造方法:有,也可带参

    3.       成员方法:可以是抽象方法,也可以是非抽象方法

    多态的分类:

    1.       具体类多态

    2.       抽象类多态(常用)

    3.       接口多态(最常用)

    接口的特点:

    1.       成员变量:接口中的变量默认是staticfinal

    2.       构造方法:无,没有构造方法。

    3.       成员方法:只能是抽象方法。(默认为publicabstract

    类与类的关系:继承关系,只能是单继承,可以多层继承。

    类与接口:实现关系,可以同时实现多个接口。

    接口与接口:继承关系,可以单继承,也可以多继承。

    抽象类与接口的区别:

    1.       成员区别

    a)         抽象类:

                                                        i.              成员变量:

                                                      ii.              构造方法:

                                                    iii.              成员方法:

    b)        接口:

                                                        i.              成员变量:

                                                      ii.              成员方法:

    2.       关系区别

    a)         类与类

    b)        类与接口

    c)         接口与接口

    3.       设计理念区别

    a)         抽象类

     

    b)        接口

    参数传递时,Java 中只有值传递,但分两种情况,如果是基本类型(如intdouble等基本数据类型),传递的是数据值,如果是引用类型(如类,接口,数组),传递的是地址值。

           基本类型:形式参数的改变不影响实际参数。(因为传递的只是数据值。)

    引用类型:形式参数的改变直接影响实际参数。(因为传递的是地址,所以所指向的内容会随时改变。)

    UML语言

    面向对象思想

    类与对象及其使用

    对象的内存图

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

    匿名对象

    封装

    this关键字

    构造方法

    static关键字

    面向过程的思想:

           需求分析(要做什么)----概要设计(要怎么做)----详细设计(代码实现,具体实现时要一步一步去实现,具体的每一步都要我们去实现和操作,这些步骤按照一定的顺序协调操作,完成需求。)

    当需求较单一,需求变更较少时,并无明显缺点。

    缺点:当需求较复杂,维护较频繁,功能较多,需求变化较多时,维护起来会很难。

    面向对象:

    面向对象的开发:就是不断的创建对象、使用对象、指挥对象做事情。

           面向对象的设计:就是管理和维护对象之间的关系。

           面向对象的特征:封装(encapsulation)、继承(inheritance)、多态(polymorphism)。

    封装:隐藏对象的属性和实现细节,仅对外提供公共访问方式。

    Private修饰成员变量,外部不能访问,只能通过成员方法访问

    对象是类的具体实现,是一个类的具体实例。

    Java中内存分为3个区:栈、堆、方法区(类描述区,静态区)。

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

           在类中位置不同:

                  成员变量:在类中方法外。

                  局部变量:方法内或者方法声明上

           在内存中的位置不同:

                  成员变量:在堆内存

                  局部变量:在栈内存

           生命周期不同:

                  成员变量:随着对象的创建而存在,随着对象的消失而消失

                  局部变量:随着方法的调用而存在,随着方法的调用完毕而消失

           初始化值不同:

                  成员变量:有默认初始化值

                  局部变量:没有默认初始化值,必须定义、赋值,然后才能使用。

           注意事项:局部变量名字可以和成员变量名字一样,在方法中使用的时候采用的是就近原则。

    匿名对象(new classname()):

           调用方法,只适用于只调用一次的时候,不适合于多次调用。匿名对象调用完毕即消失(可被回收)。

  • 相关阅读:
    JS中的instanceof和typeof
    JSONP跨域的原理解析
    svn add 忽略node_modules
    淘宝flexible.js的使用
    最简单的方式实现rem布局
    关于不同retina的布局
    es5实现es6方法
    Webpack loaderUtils.parseQuery()
    npm操作命令
    阿里云服务器配置https
  • 原文地址:https://www.cnblogs.com/yanspecial/p/5208361.html
Copyright © 2011-2022 走看看