Java中级知识点
1:类与对象的关系区别
2:构造方法的重载
3:Static修饰的方法里面如果调用其他方法或者属性
*特别注意
那么被调用的方法或者属性一定是被Static修饰的。
4:封装步骤
把属性设置private
Alt+Insert重写Getter和Setter方法
5:继承
继承是一种类与类的关系,是一种IS A的关系
继承好处:
子类拥有父类的所有属性和方法 private 无效哦!!!
代码复用
6:方法重写 方法名字相同 返回值类型相同 参数及个数相同
7:工作目录最好不要出现中文
8:如果方法名字是一个单词的,第一个字母不用大写
9:super关键字 this关键字代表当前对象 super代表父类 并且只能代表一级
10:构造方法执行顺序 从上面父类执行 一直到子类
11:object 是所有的类的父类 重写toString 跟equlas;
类对象比较的是属性 类的对象比较关注属性的值
12:instanceof 属于
13:用组合的方式实现继承这种关系
14:代码块是构造方法的一种补充,优先于构造方法执行
静态代码最优先执行
15:包装类
Byte Short Integer Long Boolean Float Double Character
16:String转整数类型 整数转String
17:JDK离线文档自己下
18:单例模式
19:static instance of final extends
final 不可变的量 常量 能修饰成员变量 局部变量 方法 类
修饰父类的方法 该方法不能重写 但是能重载
修饰类 ,该类不能被继承
final 修饰成员变量 一定要初始化的值 并且只能赋值一次 (代码块 构造方法 直接赋值)
static方法里面 只能引用static修饰的方法或属性
static final 常量名字一定要大写
final 修饰类不能被继承,但是可以new
占位符 %s %d
abstract //抽象
能修饰类 抽象类
能修饰符方法 抽象方法
20:markdown
//分别修饰成员变量 局部变量 类 方法
21:接口是更为抽象的"类" interface
接口具体来说它不是一个类 其实它算是一种协议
接口定义 默认前面自动有abstract;
接口常量 默认前面有 public static final
接口方法 只有声明 没有实现 默认前面有public abstract
跟抽象类比 接口里面不能有普通属性 普通方法 只有常量跟抽象方法
接口支持多继承 多继承的接口之间用,隔开 继承的父亲只能是接口
定义一个父类类型的引用指向一个子类的对象既可以使用子类强大的功能,又可以抽取父类的共性。封装是指隐藏对象的属性和实现细节,仅仅对外公开接口。封装能为软件系统带来以下优点:
(1)便于使用者正确的方便的理解和使用系统,防止使用者错误修改系统的属性。如果属性变为 public,就好比,到银行去存钱,不是通过柜面进行操作的,而是直接跑到银行的金库里面自己去拿钱了,这样就很不安全,这个例子中,可以把银行金库中的钱看作是某一对象的属性,而柜面的工作人员、出纳柜台就可以看作是set /get 方法了,也就是让对外服务提供某些接口,具体里面的操作就隐藏起来了。
再比如电视机系统,尽管它本身的实现很复杂,但用户使用起来却非常简单,只要通过遥控器上的几个按钮就能享受电视机提供的服务。电视机的实现细节被藏在它的大壳子里,没有必要向用户公开。
(2)有助于建立各个系统之间的松耦合关系,提高系统的独立性。当某一个系统的实现发生变化,只要它的接口不变,就不会影响到其他的系统。
(3)提高软件的可重用性,每个系统都是一个相对独立的整体,可以在多种环境中得到重用。例如干电池就是一个可重用的独立系统,在相机、手电筒、电动剃须刀和玩具赛车中都能发挥作用。
(4)降低了构建大型系统的风险,即使整个系统不成功,个别的独立子系统有可能依然是有价值的。例如相机损坏了,它的干电池依然有用,可以安装到手电筒中。
一个设计良好的系统会封装所有的实现细节,把它的接口与实现清晰的隔离开来,系统之间只通过接口进行通信。面向对象的编程语言主要是通过访问控制机制来进行封装,这种机制能控制对象的属性和方法的可访问性。byteshortintergerlongdoublecharfloatbooleanString s1 = "北财大学"; String s2 = "北财"; String s3 = "大学"; String s4 = s2 + s3; //以+链接两个引用,在编译是确定不了值的 //不能确定值(选择恐惧症) String s5 = "北财"+"大学"; System.out.println(s1 == s4);//false System.out.println(s4 == s5);//false System.out.println(s1 == s5);//true
17.7.17
最新推荐文章于 2023-03-12 09:00:00 发布