Java复习_4 接口多态和内部类

△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()方法,随后在转换为整数.

时间: 2024-08-03 17:58:46

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

java基础---25. 接口多态综合案例

1 案例 2 案例分析 3 代码实现 定义一个接口 public interface USB { public abstract void open();//打开设备 public abstract void close();//关闭设备 } 定义一个电脑类 public class Computer { public void powerOn(){ System.out.println("笔记本电脑开机"); } public void powerOff(){ System.out.

黑马程序员——面向对象(一)概述、类与对象、继承、抽象类、接口、多态、内部类

一.面向对象概述 1.面向对象:是一个很抽象的概念,它相对面向过程而言,是一种程序设计的思想. 2.面向对象的特点: * 符合人们思考习惯的思想 * 可以将复杂的事情简单化 * 将程序员从执行者转换成了指挥者 * 完成需求时:只需要寻找具备所需功能的对象或者创建所需功能的对象即可,简化开发效率并提高对象的复用性. 3.面向对象的三个特征:封装(Encapsulation).继承(Inheritance).多态(Polymorphism). 二.类与对象 (一)类与对象之间的关系 1.类的定义:类

static、接口、多态、内部类

第一章 static关键字 知识点-- static关键字 目标: 之前咋们写main方法的时候,使用过了一个static关键字,接下来我们来学习一下static关键字 路径: static关键字概述 static关键字的使用 讲解: 1.1 概述 static是静态修饰符,表示静态的意思,可以修饰成员变量和成员方法以及代码块. 1.2 定义和使用格式 static修饰成员变量 当 static 修饰成员变量时,该变量称为类变量.该类的每个对象都共享同一个类变量的值.任何对象都可以更改该类变量的

Java面向对象程序设计--接口和内部类

1.接口的定义: In the Java programming language, an interface is not a class but a set of requirements for classes that want to conform the interface. 说明: 1) Interface 不是class,虽然interface具有class的一些特点,例如能够继承,能够定义相同类型的变量,而且和C++的abstract class非常像,但Java 的inter

“全栈2019”Java第八十三章:内部类与接口详解

难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第八十三章:内部类与接口详解 下一章 "全栈2019"Java第八十四章:接口中嵌套接口详解 学习小组 加入同步学习小组,共同交流与进步. 方式一:关注头条号Gorhaf,私信"Java学习小组". 方式二:关注公众号Gorhaf,回复"Java学习小组&quo

java基础(11):接口、多态

1. 接口 1.1 接口概念 接口是功能的集合,同样可看做是一种数据类型,是比抽象类更为抽象的”类”. 接口只描述所应该具备的方法,并没有具体实现,具体的实现由接口的实现类(相当于接口的子类)来完成.这样将功能的定义与实现分离,优化了程序设计. 请记住:一切事物均有功能,即一切事物均有接口. 1.2 接口的定义 与定义类的class不同,接口定义时需要使用interface关键字. 定义接口所在的仍为.java文件,虽然声明时使用的为interface关键字的编译后仍然会产生.class文件.这

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

内部类: 1.定义在一个类中的内部类,内部类的实例化伴随着外围类所定义的方法来构造,内部类对象有外围类的隐式引用,所以内部类可以直接访问外围类的外围类的域,包括私有的,这是内部类的访问特权,所以比常规类功能更加强大. 2.内部类可以对同一个包中的其他类隐藏起来,不过可以通过 OuterClass.InnerClass来引用public声明的内部类. 局部内部类: 1.内部类挪到方法内部,与内部类相比,局部内部类不仅可以访问定义他们的外部类,还可以并且仅可以访问声明为final的局部变量. 2.类

java复习总结2

静态方法 与静态变量一样,我们也可以使用 static 修饰方法,称为静态方法或类方法. 其实之前我们一直写的 main 方法就是静态方法. 静态方法中可以直接调用同类中的静态成员,但不能直接调用非静态成员. 如果希望在静态方法中调用非静态变量,可以通过创建类的对象,然后通过对象来访问非静态变量. 在普通成员方法中,则可以直接访问同类的非静态变量和静态变量. 静态方法中不能直接调用非静态方法,需要通过对象来访问非静态方法. 静态初始化块 Java 中可以通过初始化块进行数据赋值. 在类的声明中,

Java中的嵌套类和内部类

以前看<Java编程思想>的时候,看到过嵌套类跟内部类的区别,不过后来就把它们的概念给忘了吧.昨天在看<数据结构与算法分析(Java语言版)>的时候,又遇到了这个概念,当时就很大的疑惑:嵌套类跟内部类有什么区别?只有是否有关键字static的区别吗? 所以今天找了个时间查了一下两者的详细区别,总结在这篇博客中,既方便自己的复习和学习,也启示他人吧. 1,概念: 定义在一个类内部的类,叫作"嵌套类".嵌套类分为两种:static的和非static的.后者又有一个专