Java笔记(6)

目录

 修饰符

访问权限修饰符

 非访问权限修饰符

封装

封装的实现:

继承

多态

追朔关系:

拓展知识点:


在今天的笔记中有将之前的笔记重复归纳整理一番,这样进行记忆更加方便。

从前面笔记我们可以知道面向对象三大特性分别为:封装、继承、多态。

在讲三大特性前我们先了解一下修饰符。


 修饰符

Java语言提供了很多修饰符,大概分为两类:

  1. 访问权限修饰符
  2. 非访问权限修饰符

访问权限修饰符

        用来规定 该属性或方法的访问权限

  1. public:共有访问。对所有的类都可见。
  2. protected:保护型访问。对同一个包可见,对不同的包的子类可见。
  3. default:默认访问权限。只对同一个包可见,注意对不同的包的子类不可见。
  4. private:私有访问。只对同一个类可见,其余都不见。

即:public > protected > default > private

类内部

本包

子类

外部包

public

protected

×

default

×

×

private

×

×

×

 非访问权限修饰符

  1. static 修饰符,用来创建类方法和类变量。
  2. final 修饰符,用来修饰类、方法和变量,final 修饰的类不能够被继承,修饰的方法不能被继承类重新定义,修饰的变量为常量,是不可修改的。
  3. abstract修饰符,用来创建抽象类和抽象方法。
  4. synchronized 用于多线程的同步。
  5. volatile 修饰的成员变量在每次被线程访问时,都强制从共享内存中重新读取该成员变量的值。而且,当成员变量发生变化时,会强制线程将变化值回写到共享内存。这样在任何时刻,两个不同的线程总是看到某个成员变量的同一个值。
  6. transient:序列化的对象包含被 transient 修饰的实例变量时,java 虚拟机(JVM)跳过该特定的变量。

封装

概念:私有化属性    并提供   公有的访问方法

封装.就是隐藏实现细节

将属性私有化,提供公有方法访问私有属性通过这些公有方法访问私有属性

封装的实现:

1、修改属性的可见性来限制对属性的访问

2、为每个属性创建一对赋值(setter)方法和取值(getter)方法,用于对这些属性的访问

3、在setter和getter方法中,加入对属性的存取限制


继承

  1.         子类拥有父类所有属性和方法()
  2.         继承也不是随意使用的
  3.         如果过多使用继承   代码的耦合性   就会变高
  4.         继承下   父类的构造函数    和子类的    都会执行,并且  父类先执行。
  • 如果父子类的构造函数 都需要参数,那么     子类可以让main给 ,父类呢?

使用super关键子解决

类似于中文语境的 我爹 的意思

子类中 指向父类  就是 super

例子(在子类中):  

super("父类的参数");//在子类中调用 父类的 构造函数

在继承关系下    有一个东西被称为    方法的     重写

方法的重写: 继承下    子类的方法 和 父类的相同 就称为方法的重写

最终执行的 是子类的方法(就近原则  更贴近它的对象)

子类中 想调用 父类方法 就可以用 super来调用

java中通过super来实现对父类成员的访问,super用来引用当前对象的父类。

super的使用只有三种情况:

1)访问父类的非private成员变量

2)调用父类中被重写的方法

3)调用父类的构造函数


多态

是多种形态能力的表述 也是继承的一种体现

什么是多态?

简单来说,多态是具有表现多种形态的能力的特征

同一个实现接口,使用不同的实例而执行不同操作


追朔关系:

一、向上转型(追溯)

a、父类引用调用父类方法

b、父类引用调用子类方法

二、向下转型(追溯)

c、子类引用调用父类方法

d、子类引用调用子类方法

//只在继承关系(子类 父类)下 有追朔关系


拓展知识点:

final最终    常量 会去使用

super我爹

this我自己(本对象)


字符集问题

字符集  就类似于  字典

utf-8(万国码)   GBK(ANSI)......

猜你喜欢

转载自blog.csdn.net/weixin_47314602/article/details/127001942