欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

疯狂java讲义价格_疯狂java讲义

发布时间:2025/3/11 编程问答 29 豆豆
生活随笔 收集整理的这篇文章主要介绍了 疯狂java讲义价格_疯狂java讲义 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

封装:

封装:将对象状态信息隐藏在对象内部,不允许外部程序直接访问对象内部信息,而是用类所提供的方法访问和操作。

访问控制符:private(当前类访问权) ,protected(子类访问),public(公共访问),default(包访问)

set(),get()

构造器重载,名字相同 ,形参不同。

构造器中调用另一个构造器用this();必须出现在构造器第一行。

方法重载:名字相同,形参不同。与返回值,修饰符无关。

继承:

继承:每个子类只有一个直接父类,extends。

默认继承java.lang.Object,是所有类的父类。

子类可以重写父类方法。方法重写。两同两小一大:方法名同,形参同,返回值小,异常小,子类访问权限大。

子类覆盖后子类对象不可调用父类方法,但可在子类方法中调用,super(实例方法),父类类名(类方法)来调用。

如果父类private,那方法对子类隐藏,子类无法调用,无法重写。

super:也可用来访问父类被覆盖的实例变量。

会为所有实例变量分配内存。(被覆盖了也分配)

子类也可以用super调用父类构造器。

子类没有super调用父类构造器,系统会在执行子类构造器之前调用父类构造器。

父类构造器在子类构造器之前进行,还会上溯,最先执行的总是java.lang.Object构造器。

继承注意点:子类可以访问父类成员变量和方法,不安全

尽量隐藏父类内部数据,private

不让子类随便访问,修改父类方法,不能访问private.如果希望访问不让重写,用final public,可以被子类重写不能被外部访问用protected.

尽量不在父类构造器中调用被子类重写的方法。

多态:编译时类型和运行时类型不同,相同类型的变量调用同一个方法呈现多种不同行为特征。

编译时类型:声明该变量时的类型。

运行时类型:实际赋给该变量的对象。

子类对象赋给父类引用变量——向上转型,系统自动完成。

父类对象赋给子类引用变量——强制类型转换,instanceof判断更安全,否则ClassCastException

最终类不能被继承:1.用final修饰类,2.用private修饰类的所有构造器,子类无法调用,就无法继承。

组合复用。

初始化块:

可有修饰符static。初始化块按顺序进行。

创建对象时,先调用类里的初始化块再执行构造器。

初始化块是构造器补充,在构造器前执行。

但是不能接受任何参数,对所有对象初始化相同。

==和equals:引用变量用==时,只有他们指向同一个对象才true。==两边没有父子关系的两个对象会编译错误。

“hello”直接量存在常量池,new String ("hello")Jvm会用常量池保存"hello",在调用String类构造器创建一个新对象,保存在堆内存中。所以不相等。

值相等用str1.equals(str2);

类成员,类方法,即使实例是Null也可以访问类成员,null访问实例成员会引发NullPointerException。

静态初始化块也是类成员,类初始化时调用,之后不再执行,

类成员不能访问实例变量。

单例类:一个类只能创建一个实例。构造器private。提供一个public 方法作为访问点,用于创建对象,且是public static.且类还必须缓存已经创建的对象。用一个成员变量来保存曾创建的对象,要被静态方法访问,必须也static.

只能创建一个对象,再多引用所指的都相等。

final:

修饰变量,该变量一旦有初始值就不可改变,final修饰的成员变量必须显示指定初始值,系统不会对final成员隐形初始化,final修饰局部变量,修饰形参

final修饰引用变量,final保证指向的对象不变,但对象内容可以改变。

final修饰变量,宏定义,定义final时就为变量指定初始值,在编译时确定,final变量实际是宏变量。

修饰方法,不可被子类重写。但可以被类内重载

修饰类:不可以有子类,不可被继承、

不可变类:创建该类实例后,该实例实例变量不可改变。

规则:1.用private和final修饰该类成员变量   2.提供带参数构造器,传入参数来初始化。  3.只为该类成员提供getter().不能setter()

抽象:

抽象方法,抽象类:abstract。

抽象方法不能有方法体,抽象类不能被实例化,不能new.这个类只能被继承。

抽象方法没有方法体,必须被子类重写。

final与abstract不能同时用。static和abstract也不能同时修饰同个方法。

抽象类只定义某些方法,把不能实现的部分抽象成抽象方法,留给子类实现。

总结

以上是生活随笔为你收集整理的疯狂java讲义价格_疯狂java讲义的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。