1.如果将一个类打包,使用该类的时候,必须使用该类的全名,java编译器才能找到。

2.也可以使用import 导入这个包。

3.可以不需要import语句 直接使用 java.lang包中的类。

4.权限修饰符java中一共有四个: private,default ,protected,public. 修饰符置于类的成员定义前,用来限定其他对象对该类对象成员的访问权限。

修饰符 类内部 同一个包 子类 任何地方
private Yes
default Yes Yes
protected Yes Yes Yes
public Yes Yes Yes Yes
  1. 对于class的权限修饰只可以用 public 和default。

    public类可以在任意地方被访问

    default类只可以被同一个包内部的类访问

  2. java中使用 extends关键字实现类的继承机制。通过继承,子类自动拥有了基类(superclass)的所有成员(成员变量和方法)。

  3. java只支持单继承,不允许多继承:一个子类只能有 一个基类,一个基类可以派生多个子类。

  4. 子类的构造过程中必须调用基类的构造方法。

    子类可以再自己的构造方法中使用 super(argument_list)调用基类的构造方法。

    使用this(argument_list)调用本类的另外的构造方法。

    如果调用super,必须写在子类构造方法的第一行。

    如果子类的构造方法中没有显式调用基类构造方法,则系统默认调用基类无参数的构造方法。

    如果子类构造方法中既没有显式调用基类构造方法,而基类中又没有无参的构造方法,编译出错。

    9.Object类中定义有 public boolean equals(Object obj)方法,提供定义对象是否“相等”的逻辑。方法定义为 x.equals(y),当x和y所引用的对象是同一个对象的引用时返回true否则返回false。

    10.j2sdk提供的一些类,如String Date等,重写了Object的equals方法,调用这些类的 equals方法,当引用的对象是同一类对象且属性内容相等时(并不一定是相同对象)返回true,否则返回false。

    11.可以根据需要在用户自定义类型中重写equals方法。

    12.对象转型

    一个基类的引用类型变量可以“指向”其子类的对象。

    一个基类的引用不可以访问其子类对象新增加的成员(属性和方法)。

    可以使用 引用变量 instanceof 类名 来判断该引用型变量所“指向”的对象是否属于该类或该类的子类。

    子类的对象可以当作基类的对象来使用称作 向上转型,反之称为向下转型。

    13.多态的必要条件:

    1.要有继承
    2.要有重写
    3.父类引用指向子类对象
    14.用abstract修饰的类叫抽象类,修饰的方法叫抽象方法。
    含有抽象方法的类必须被声明为抽象类,抽象类必须被继承,抽象方法必须被重写。 抽象类不能被实例化。 抽象方法只需声明 不需要实现。

  5. final的变量的值不能被改变(final的成员变量、final的局部变量(形参)),final的方法不能被重写,final的类 不能被继承。

16.接口 :多个无关的类可以实现同一个接口。一个类可以实现多个无关的接口。
与继承关系类似,接口与实现类之间存在多态性。 接口是抽象方法和常量值定义的集合。
从本质上讲,接口是一种特殊的抽象类,这种抽象类中只包含常量和方法的定义,而没有变量和方法的实现。
17.接口里声明的舒兴国默认为 public static final,也只能是 public static final的。接口中只能定义抽象方法,而且这些方法默认是public的 ,也只能是public的。接口可以继承其他接口,并添加新的属性和抽象方法。

java oop 基础的更多相关文章

  1. JAVA OOP 基础知识提纲

    OOP: 面向对象: 认识事物的一个过程,是整体(特征/行为) 认识事物的方式.人类认识事物的自然思维习惯. 对象及类 对象是实实在在具体存在的东西,主要是从两个角度(行为,特征)去观察 类:是一组具 ...

  2. 【重走Android之路】【Java面向对象基础(三)】面向对象思想

    [重走Android之路][基础篇(三)][Java面向对象基础]面向对象思想   1 面向对象的WWH   1.1 What--什么是面向对象         首先,要理解“对象”.在Thinkin ...

  3. 面向对象(OOP)--OOP基础与this指向详解

      前  言            学过程序语言的都知道,我们的程序语言进化是从“面向机器”.到“面向过程”.再到“面向对象”一步步的发展而来.类似于汇编语言这样的面向机器的语言,随着时代的发展已经逐 ...

  4. Java工程师 基础+实战 完整路线图(详解版)

    Java工程师 基础+实战 完整路线图(详解版)   Java 基础 Java 是一门纯粹的面向对象的编程语言,所以除了基础语法之外,必须得弄懂它的 oop 特性:封装.继承.多态.此外还有泛型.反射 ...

  5. java继承基础详解

    java继承基础详解 继承是一种由已存在的类型创建一个或多个子类的机制,即在现有类的基础上构建子类. 在java中使用关键字extends表示继承关系. 基本语法结构: 访问控制符 class 子类名 ...

  6. java封装基础详解

    java封装基础详解 java的封装性即是信息隐藏,把对象的属性和行为结合成一个相同的独立单体,并尽可能地隐藏对象的内部细节. 封装的特性是对属性来讲的. 封装的目标就是要实现软件部件的"高 ...

  7. Java以基础类库

    Java以基础类库JFC(Java Foundation Class)的形式为程序员提供编程接口API,类库中的类按照用途归属于不同的包中. (一)java.lang包 Java最常用的包都属于该包, ...

  8. Java SE 基础:注释

    Java SE 基础:注释 一.注释定义 用于解释说明程序的文字. 二.注释的作用 1.解释说明程序,提高程序的可读性 2.可以帮助我们调试程序:通过注释代码块,检测错误位置 三.格式 1.单行注释 ...

  9. Java SE 基础:标识(zhì)符

    Java SE 基础:标识(zhì)符 一.标识符定义 标识符,就是给类.接口.方法.变量等起名字时的字符序列 二.组成规则与注意事项 1.组成规则 英文大小写字母 数组 $ 和 _ 2.注意事项 不 ...

随机推荐

  1. [Scikit-learn] *2.3 Clustering - MeanShift

    sklearn.cluster.MeanShift Ref: http://scikit-learn.org/stable/auto_examples/cluster/plot_mean_shift. ...

  2. iOS-Http断点续传

    下载LOFTER客户端IOS Http断点续传浅析 http实现断点续传的关键地方就是在httprequest中加入“Range”头. //设置Range头,值:bytes=x-y;x:开始字节,y: ...

  3. 通过命令行方式连接redis

    1.首先安装redis客户端 yum install redis 2.连接 redis-cli -h host -p port -a password host:远程redis服务器host port ...

  4. python如何发布自已pip项目

    python如何发布自已pip项目前言因为自已平时会把一个常用到逻辑写成一个工具python脚本,像关于时间字符串处理,像关于路径和文件夹遍历什么的工具.每一次新建一个项目的时候都要把这些工具程序复制 ...

  5. glide包管理工具

    上一篇文章中我们已经成功的运行了go的代码,这是我们迈出的最基础的一步. 一个项目通常会依赖很多外部的库,当依赖的库比较多的时候,手工管理就会比较麻烦,这个时候就需要包管理工具出场了,帮你管理好所有依 ...

  6. jdbc配置及使用测试

    源码:https://github.com/xiaostudy/jdbc_test1 这是没有使用连接池的 目录 创建的sql语句create.sql DROP TABLE IF EXISTS t_u ...

  7. mui横向滑动菜单

    <style> .mui-bar a { color: #E02D26; } #topItem { background: white; border-bottom: 1px solid ...

  8. redis数据库安装

        一. 简单介绍: REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统. Redis是一个开源的使用A ...

  9. 2019华东交通大学ACM基地简介

    一.基地成就简介: ACM国际大学生程序设计竞赛(英文全称:ACM International Collegiate Programming Contest(简称ACM-ICPC或ICPC))是由国际 ...

  10. Django soft-delete软删除

    在django中,实现这个功能很简单,我们采用一个字段用来保存删除的时间.若记录没有被删除,那么设置该值为None,如果被删除,那么设置时间为删除的时间. class BaseSchema(model ...