2022-07-27第十组薛雯匀

1.今天上午学的内容感觉比较好理解,下午有点听不懂。

2.了解

Java学习笔记

类的内部结构:

属性,方法,构造器,代码块,内部类

代码块:

代码块又称为初始化块,属于类的一个成员,它是将逻辑语句封装在方法体中。

通过{}包裹起来,代码块是没有方法名,没有参数,没有返回值,只有一个类似方法体的东西。

它是不需要通过对象或类进行显示的调用,他会在类加载或者创建对象时主动的隐式调用。

 

  1. 静态代码块

一个类被加载时会被调用一次,做一些初始化工作。

  1. 实例代码块

每次创建实例都会被调用一次,用的少

面试题:

当没有继承关系时,就一个类,静态块----实例块-----构造器

当有继承关系时:父类静态块----子类静态块----父类实例块----父类构造器---子类实例块----子类构造器

父优于子,静态优于非静态

  1. static静态

属性,方法,代码块

用static修饰的结构,不属于任何一个对象

Static内存解析

  1. 静态的变量或者静态方法存在于方法区。静态结构不会被垃圾回收
  2. 不属于任何一个实例对象,只存在于方法区,调用静态结构,直接用类名.的方式即可。

实例方法和静态方法的互相调用:

  1. 在静态方法中不可以直接调用实例方法,如果想用那就必须对象.方法名
  2. 实例方法可以直接调用静态方法。
  3. 静态结构的加载,随着类的加载而加载的
  4. 非静态结构,随着对象的创建而加载

在Java中去调用实例方法必须要有主体。方法不是一等公民,不能直接调用。

静态方法无论在哪里都是类名.方法名的方式调用,同一个类的静态方法之间可以省略。

 

 

 

接口中的常量默认public static  final

开放中基本上常量的的声明都是public static final

静态方法是没有重写这个概念的。

 

静态方法怎么用?

写工具类

写静态代码块

 

无论是this还是super,都不可以在静态结构中使用。

静态的结构是属于类的,静态结构是优先于对象存在的。

This和super,必须有对象才能出现,必须有实例。

外部类

一个public声明的类,类名必须和.java的文件名相同

外部类就是两个类

生成的.class文件是两个独立的.class

开发中,尽量不要写外部类

类的组成结构:

属性,方法,构造器,代码块,内部类

 

内部类:

在一个类内部进行其他类结构的嵌套操作

我们之前写过的链表,Node类其实主要就是给SuperLinked

我们可以把Node类定义在SuperLinked中

设计模式

设计模式是人们为软件开发中抽象出可重复利用的解决方案

软件开发工程师之间沟通的“行话“

面向对象的设计原则

  1. 开闭原则(Open Close Principle)

对扩展开放,对修改关闭。(继承,实现接口)

我们可以通过“抽象约束,封装变化”来实现开闭原则。

通过接口或者抽象类为软件定义一个相对稳定的抽象层

将相同的可变因素封装装在相同的具体实现类中。派生一个实体类就可以了。

  1. 里氏代换原则

子类继承父类时,除了添加新的方法完成新增的功能外,尽量不要重写父类方法,自己去写一个新的方法

  1. 依赖倒转

要面向接口编程,不要面向实现编程。

  1. 每个类尽量提供接口或抽象类,或者两者兼备
  2. 变量的声明尽量是接口或者是抽象类
  3. 任何类都不应该从具体的类派生
  4. 使用继承时要遵守里氏代换原则
  5. 接口隔离原则

使用多个隔离的接口。

  1. 5.     迪米特发法则
  2. 合成复用原则
  3. 单一原则:一个类只做一件事

 

posted @ 2022-07-27 22:27  清欢qing  阅读(23)  评论(0)    收藏  举报