您的位置:首页 > 大数据 > 人工智能

《面向对象2》

2018-02-27 12:22 162 查看
静态函数静态方法访问方式方式一:可以使用对象进行访问对象.静态函数名();方式二:可以使用类名进行访问类名.静态函数名();静态函数注意事项:1. 静态函数是可以调用类名或者对象进行调用的,而非静态函数只能使用对象进行访问2. 静态函数可以直接访问静态成员变量,不能直接访问非静态成员变量原因:静态函数是可以直接使用类名直接调用的,这时候还没有存在对象,而非静态成员数据是随着对象创建而存在的3. 非静态的函数是可以直接访问静态与非静态的成员原因:非静态函数只能由对象调用,当对象存在的时候,静态数据老早就存在了,而非静态数据也随着对象创建而存在的4. 静态函数不能出现this或者super关键字。原因:因为静态的函数是可以使用类名调用的,一旦使用类名调用这时候对象不存在,而this关键字是代表一个函数的调用者对象,这时候产生了冲突静态数据的生命周期:静态的成员变量数据是优先于对象存在的静态代码块:静态代码块是在 类名.class文件加载到内存的时候马上执行的推荐使用类名访问:节省内存空间,书写方便Static什么时候修饰一个函数:如果一个函数没有直接访问到非静态的成员时,那么久可以使用static修饰了,一般用于工具类型的方法静态函数不能访问非静态的成员?静态函数只要存在对象,那么就可以访问非静态的数据。静态的成员变量与非静态的成员变量的区别:1. 作用上的区别:(1) 静态的成员变量的作用共享一个数据给所有的对象(2) 非静态的成员变量的作用是描述一类事物的公共属性2.数量与存储上的区别:(1) 静态成员变量是存储方法区内存中,而且只会存在一份.(2) 非静态的成员变量是存储在堆内存中,有N个对象就有N份数据3.声明周期的区别:(1) 静态的成员变量数据是随着类的加载而存在的,随着类文件的消失而消失(2) 非静态的成员数据是随着对象创建而存在的,随着对象被垃圾回收器回收而消失的Main详细解释public static void main(String[] args)Public公共的权限最大,原因是为了保证在任何情况下jvm都可以访问到main方法Static静态:静态可以让jvm调用main函数的时候更加方便,不需要通过对象调用Void:没有返回值,因为返回的数据给jvm,而jvm使用这个数据没有什么意义,所以就不要了Main:就是函数名,注意main不是关键字,只不过是jvm能识别的一个特殊的函数名而已Arguments:担心某些程序在启动时候需要参数,在程序一开始的时候就输入信息,没有任何提示相当于Scanner的作用 不适用static修饰的麻烦:1. 需要创建对象调用2. Jvm
4000
不知道如何创建对象,因为创建对象有些是需要参数的,参数传递什么东西呢?3. 单例模式饿汉单例设计模式,一开始就创建一个对象给你,但是可能有人没有用到对象,造成内存浪费懒汉单例设计模式,一开始声明本类的创建类型为null,只是创建引用,不创建,在公共的方法用返回一个对象,首先判断对象是否为空,如果不为空就返回,为空就创建返回。推荐使用饿汉模式,因为考虑到线程安全问题,你永远都不确定,内存中只有一个对象。继承继承格式:Class 类名1 extends 类名2(){}继承要注意的事项:1. 千万不要为了减少重复代码而去继承,只有真正存在着继承关系的时候才去继承2. 父类私有的成员不能被继承3. 父类的构造函数不能被继承4. 创建子类对象时默认会先调用父类无参的构造函数调用跟继承没有任何关系,切记!!!SuperSuper关键字:代表了父类空间的引用Super关键字作用:1. 子父类存在同名的成员时,在子类中默认是访问子类的成员,可以通过super关键字指定访问父类的成员2. 创建子类对象时,默认会调用父类无参的构造方法,可以通过super指定调用父类的构造方法Super关键字注意事项:1. 如果在子类的构造方法上,没有指定调用父类的构造方法,那么java编译器会在子类的构造方法上加上super()语句2. Super关键字调用父类的构造函数时,该语句必须是子类构造函数中的第一个语句3. Super与this关键字不能同时出现在同一个构造函数中调用其他的构造函数中调用其他构造函数,因为两个语句都要在一个语句中Super与this关键字的区别:1. 代表的事物不一样(1) Super关键字代表父类空间的引用(2) This关键字代表的是所属函数调用者 2. 使用前提不一致(1) super关键字必须要有继承关系才能使用(2) This关键字不需要继承关系能使用3. 调用构造函数的区别:(1) super关键字是调用父类的构造函数(2) This关键字是调用本类的构造函数父类的功能无法满足子类的需求方法重写:子父类出现同名的函数,这个就是方法的重写,前提是必须是继承关系,才能方法重写方法重载:在一个类中,存在两个或者两个以上的同名的函数,称为方法的重载方法重写要注意的事项:1. 方法重写时,方法名与形参列表必须一致2. 方法重写时,子类的权限修饰符大于或者等于父类3. 方法重写时,子类的返回值类型,必须要小于或者等于父类的返回值类型4. 方法重写时,子类抛出的异常类型要小于或者等于父类抛出的异常类型方法重载的要求:1.函数名要一致2.形参列表不一致(形参的个数或者形参的类型不一致 )3.与返回值类型无关Instanceof关键字Instanceof关键字的作用:判断一个对象是否属于指定的类别Instanceof关键字的使用前提:判断的对象与指定的类别必须要存在继承或者实现关系Instanceof使用格式:对象 Instanceof 类别如果是属于返回true如果不是返回falseInstanceof关键字的作用:做强制类型转换之前,都会使用该关键字判断,然后再进行转换
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息