△abstract不可以修饰成员变量
△一个类可以没有抽象方法,可以定义为抽象类,这样的目的是不能让其他类建立本类对象,交给子类完成.
△abstract和static(可以被类名调用方法,但是抽象方法调用没有意义)final(不能被覆盖方法)private(私有方法无法覆盖)
△接口只能被实现.被用接口去继承或者用类或者抽象类去实现
△接口中定义的变量全部是常量.关键修饰符为Public static final.接口中没有构造方法,实现接口的类构造方法访问的是object,接口中的方法是Public,因此实现需要注意一定是public
△接口可以没有需要实现的方法.
△接口与类是实现关系,接口与接口之间是继承关系,可以多继承.
△抽象类:被继承体现的是is a关系.定义了共性的功能
 接口是like a关系,定义的是扩展功能
△  javac-d<my_dir> Myprogram.java:就是将Myprogram.java程序里产生的  .class  文件放在 my_dir  目录里,用于生成类文件的包..可以javac -d .Myprogram.java.(当前路径下生成类文件的包)
△import导入*,代表代表通配符,它会在包下挨个匹配,找到后就导入.
访问权限:
            本类              同一包内的子类和无关类     不同包下的子类      不同包下的无关类
private      Y                        N                          N               N
default      Y                        Y                          N               N
protected    Y                        Y                          Y               N
public       Y                        Y                          Y               Y 
△内部类:
      Outer.Inner oi=new Outer().new Inner();
  内部类可以直接访问外部类的私有成员.
静态内部类:
     Outer.Inner oi=new Outer.Inner();
方法中的局部内部类访问局部变量局部变量必须要加final修饰.因为当调用这个方法的时候,局部变量如果没有被final所修饰的话,他的生命周期应当和方法的生命周期是一样的,方法弹栈的时候,局部变量将会消失,这时候如果局部内部类没有被回收走,想要去使用这个方法的时候,就会产生问题.
△匿名内部类只有重写单个方法的时候使用.
△当内部类是成员的时候,要再主函数中访问它,必须要加static
△当重写equals方法时,注意参数是Object,否则就不是重写而是重载了.
△equals与==的区别:equal只能对于引用数据类型进行比较,但是==号能对引用数据类型和基本数据类型都进行比较,equals底层依赖的就是==,一般需要重写equals方法.
△Scanner hasnextInt()判断接下来的数是否是整数,判断后,在调用nextInt():获取输入的整数,.标准格式如下:
 if(i.hasnextInt()) {
     int x=i.nextInt();
}
  当nextInt()和nextLine()作组合的时候,nextInt()在前面的时候,nextInt()获取整数后,不会再获取回车符,因此会被nextLine()所获取而得知该行已结束,因此不会再输出其他内容.
  解决方案1:创建两次Scanner对象2.都用nextLine()方法,随后在转换为整数.

JavaSE 复习_4 接口多态和内部类的更多相关文章

  1. JavaSE复习日记 : 接口

    /* * 接口 * 引用数据类型: * 类,接口,数组; * * 接口是一种引用数据类型,可以看作是一个特殊的类,它存在的目的是为了解决没有多重继承引起的功能弱的问题而设计的,一个类只能有一个父类,但 ...

  2. JavaSE复习(七)Stream流和方法引用

    Stream流 全新的Stream概念,用于解决已有集合类库既有的弊端. 传统集合的多步遍历代码 几乎所有的集合(如 Collection 接口或 Map 接口等)都支持直接或间接的遍历操作.而当我们 ...

  3. JavaSE学习笔记(5)---内部类和String类

    JavaSE学习笔记(5)---内部类和String类 一.内部类基础 转自菜鸟教程 ​ 在 Java 中,可以将一个类定义在另一个类里面或者一个方法里面,这样的类称为内部类.广泛意义上的内部类一般来 ...

  4. javaSE复习之——线程

    线程其实就是程序执行的一条路径,一个进程中可以包含多条线程,多线程并发执行可以提高程序效率,可以同使完成多项任务 多线程的应用场景 迅雷多线程一起下载 服务器同时处理多个客户请求 多线程原理(单核CP ...

  5. 【java基础】内部类,局部内部类,匿名内部类、静态内部类、接口中的内部类

    内部类: 1.定义在一个类中的内部类,内部类的实例化伴随着外围类所定义的方法来构造,内部类对象有外围类的隐式引用,所以内部类可以直接访问外围类的外围类的域,包括私有的,这是内部类的访问特权,所以比常规 ...

  6. JavaSE 学习笔记03丨继承、接口、多态、内部类

    Chapter. 5 继承 继承作为面向对象的三大特征之一,它是多态的前提.它主要解决的问题是共性抽取. Java中的继承,是单继承.多级继承的. 已存在的类,被称为超类.基类.父类(parent c ...

  7. java学习之接口、多态和内部类

    接口是一组行为的规范.定义.接口是面向对象编程体系中的思想精髓之一,使用接口可以让我们的程序更加利于变化. 接口的格式: interface 接口名称{ 全局变量: 抽象方法: } 接口中的成员修饰符 ...

  8. 黑马程序员——【Java基础】——面向对象(一)概述、类与对象、继承、抽象类、接口、多态、内部类

    ---------- android培训.java培训.期待与您交流! ---------- 一.面向对象概述 1.面向对象:是一个很抽象的概念,它相对面向过程而言,是一种程序设计的思想. 2.面向对 ...

  9. java复习(5)---接口、继承、多态

    Java作为完全面向对象语言,接口.继承和多态是三个非常重要的概念. 1.继承. (1)关键字: extends (2)子类用super()调用父类构造函数,用super().方法 调用父类的成员方法 ...

随机推荐

  1. python 入门教程

    转载自:http://www.crifan.com/files/doc/docbook/python_beginner_tutorial/release/html/python_beginner_tu ...

  2. IE6下 input 背景图滚动问题及标签规范

    ie6 背景图滚动问题: <title>ie6下input背景图滚动问题</title> <style> .box{ height:20px; width:300p ...

  3. HDU 3746:Cyclic Nacklace

    Cyclic Nacklace Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) ...

  4. 关于easyUI在子页面增加显示tabs的一个问题

    在父页面点个链接能动态看到子页面的情况太简单,请看easyUI官网:http://www.jeasyui.com/tutorial/layout/tabs2.php 现在说的是在子页面点个按钮也能触发 ...

  5. thinkphp 删除多条记录

    删除id为123456的记录 $ids=array(1,2,3,4,5,6);$maps["id"] = array("in",$ids);$this-> ...

  6. Solr开发文档

    转载:http://www.cnblogs.com/hoojo/archive/2011/10/21/2220431.html Solr 是一种可供企业使用的.基于 Lucene 的搜索服务器,它支持 ...

  7. 干净的卸载Oracle

    一.在oracle11G以前卸载oracle会存在卸载不干净,导致再次安装失败的情况,在运行services.msc打开服务,停止Oracle的所有服务. 二. oracle11G自带一个卸载批处理\ ...

  8. 关于myeclipse中maven项目转换相关设置

    关于myeclipse中maven项目转换相关设置 在myeclipse菜单中,Configure->Convert to Maven Project 这个菜单 如果没有的话,需要做如下设置: ...

  9. 改变HTML

    改变HTML 1.改变HTML输出流 JavaScript可以创建动态的HTML内容.(注意:不要在加载文档后使用document.write(),这会覆盖文档.) <%@ page langu ...

  10. javase建议学习路线

    javase建议学习路线:1.环境的搭建2.基本变量类型3.流程控制4.数组5.集合6.IO7.异常8.线程9.网络编程