20200925+袁鑫

学习日志:

知识总结:

封装

封装就是对类内部细节进行隐藏,对外不可见,外部程序不能直接访问。

​ 能有效避免外部错误对对象的影响。让使用者只能通过规定的方式来访问数据。是通过访问修饰符来限制不合理的操作。

包就是文件夹,包名一般是公司域名去掉www后倒置。

作用:

  1. 存放类:包中能存放类,易于找到和使用相应类文件。
  2. 访问命名冲突:java中允许有同名类出现,但是不能在同一个包下。可以通过包来区分类。
  3. 包允许在更广的范围内保护类,数据和方法。根据访问规则,包外的代码可不能访问该类。包实际上是一种访问控制机制,通过包来限制和制约类之间的访问。
访问修饰符
  1. public:公有
  2. private:私有的
  3. 啥也不写(package-Access):包修饰符
  4. protected:保护

同类中:public、protected、package-Access、private

同包其他类:public、protected、package-Access

同包子类:public、protected、package-Access

不同包子类中:public、protected、

不同包非子类:public

访问权限 从小到大:public --> protected --> 缺省 --> private

访问修饰符不能修饰局部变量

继承

通过从现在类中继承其属性和方法,来实现充实自身内容,这种现象称为继承。

现有类称为 父类/超类/基类

新类称为 子类/扩展类

继承的作用是代码重用,增加软件的可扩展性。

java只有单继承,也就是只能有一个直接父类。

继承表达的是 is a 关系, 子类 si a父类

特点:

  1. 可以继承父类中用public和protected和packag-Access修饰的属性和方法,packagae-Access修饰的属性和方法只能在同包中继承。private修饰的属性和方法不能被继承。
  2. 父类的构造方法不能被继承
  3. 子类可以扩展
  4. 子类可以重写override父类的方法,不能重写构造方法。
  5. 提高类之间的耦合性。
重写

重写(override)一般发生在继承中,描述子类重写父类的方法。当父类的方法不能满足子类的需求时,子类可以重写此方法,也叫覆盖。

​ 子类中有和父类中同名且同参(相同)的方法,称为方法的重写(覆盖)。如果返回值不是同一个类型会报错

方法重写需要满足的条件:
  1. 重写一定发生在继承中。
  2. 重写方法与被重写的方法要相同(方法名称、参数、返回值)。
  3. 重写方法的访问权限不能缩小。

注意:不能重写父类中final修饰的方法,不能重新给final修饰的属性赋值。

重载和重写的区别

重载:在一个类中,多个方法名相同,参数个数,类型,顺序不同。与返回值和修饰符无关。

重写:在继承关系中,方法名和参数、返回值都相同,方法体可以改变

final

final修饰的类不能被继承, final 修饰的属性(字段)补课修改,final修饰的方法不能被重写。final修饰变量称为常量,常量必须在赋初始值之后才能使用,且不能更改。

final修饰对象,因为对象本身是可变的,不可变的是变量对于对象的引用。

final自变量,将方法的参数设置为final类型,表示在方法中,此参数不能改变

子类和父类的关系

在子类进行实例化时,调用父类的构造方法,而且时先调用父类构造在执行子类构造方法中的其他语气。

要实例化子类就得先实例化父类

当父类中有无参构造时,子类的构造方法可以不写 调用父类构造(super()),java会自动在子类构造方法的第一行上super();但是,如果父类中没有无参构造,就需要我们手动在子类构造中调用父类的构造方法。

super

super([参数列表])是调用父类的构造方法,在调用构造方法时必须放在方法的第一行。

super.属性表示调用父类的属性,super.方法([参数列表])表示调用父类的方法。

super表示父类引用

注意:

  1. super只能出现在子类(成员方法、构造方法)中。
  2. super用于调用父类的成员,方法,属性,构造方法。
  3. super([参数列表])在调用父类构造方法时,要写在构造方法代码的第一行。
  4. super不能调用父类private修饰的属性和方法。
遮蔽

有些声明可能在其作用域的一部分被相同名称的另一个声明遮蔽。

隐藏

用于将被继承但有子类中的声明而不被继承的成员。

static方法可以被继承,但不会被重写。

心得:

经过今天的学习,我感觉我基本都能理解,但是每次涉及到要画内存示意图,什么常量池、栈、堆、有些不太能理解。 希望浩哥可以讲解一下。

标签

评论

© 2021 成都云创动力科技有限公司 蜀ICP备20006351号-1