JVAV中的常量

什么是常量?

常量就是不会变化的数值

为什么需要常量?

方便使用(调用)不会变化的数值

特性

不能修改

所有对象共享

常量一定是成员

定义

public static final 类型 常量名=数值;
public static final double PI=3.1415926;

常量使用类名调用,不能被修改

命名规范

所有字母都大写

多个单词用_分隔

赋值

声明的同时赋值

语法也允许在静态块中赋值

如果常量在声明的同时赋值

代码中调用这个常量的位置

编译时会替换这个常量的值

无需加载这个类,从而提高运行效率

抽象类

什么是抽象类?

不存在对象的类型就是抽象类

特征

抽象不能被实例化

抽象类中能编写抽象方法

抽象类中的抽象方法不限

编写抽象类

使用abstract(抽象)修饰类即可

抽象方法

什么是抽象方法?

不能编写具体实现的方法

特征

抽象方法不能写方法体

抽象方法必须在子类中被重写,除非子类也是抽象类

抽象方法必须在抽象类中

定义

在方法的返回值类型前,编写abstract

编写后这个方法的参数列表后只能跟“;”

好处

抽象类不能被实例化

只能作为父类,提供一个数据结构,减化编程

子类中必须重写父类的抽象方法,约束了子类的型为,更加自然的使用向上造型和方法重写

final关键字和abstract关键子字矛盾不能同时修饰一个类或方法

内部类

什么是内部类?

一个类的内部定义的另一个类我们将外部的类称为outer,将内部的类称为inner。

种类

在java中有很多不同形式的内部类主要

成员内部类和匿名内部类

成员匿名类

什么是匿名内部类?

在类中的成员位置声明(定义)的类结构。

特性

内部类可以访问外部类的私有成员;

当内部类和外部类有同名成员时内部可以使用

外部类名.this.成员

访问;

通常情况下内部类只会在外部类中使用,实例化内部类对象可以访问内部的私有成员;

如果非要在其他类中实例化内部类对象的话;

Outer.Inner inn=new Outer().new Inner();

匿名内部类

什么是匿名内部类?

在方法中通过一个类或实现一个接口类创建的没有名称的内部类。

特性

可以使用外部类的私有成员;

内部类和外部类的成员同名时,使用

外部类名.this.成员

来指定外部类的成员;

匿名内部类创建的对象,相当于这个类的子类对象在方法中使用;

如果这个类的对象只在某一个方法中使用一次的话,可以使用匿名内部类;

匿名内部类可以使用其所在方法的局部变量,但是要将其视为被final修饰的JDK1.6之前,

匿名内部类中使用的方法中的局部变量必须使用final修饰

计时器

什么是计时器?

定期或周期性的调用一个方法的特殊类

实现

每隔2秒输出

    public static void main(String[] args) {
System.out.println("start");
Timer ti=new Timer();//实例化Timer对象(java.util)
TimerTask task=new TimerTask() {
int i=1;
@Override
public void run() {
//重写run方法 System.out.println("我是猪");//输出语句
i++;//每输出一次语句加1
if(i==5){//输出5次
cancel();//到达取消操作
}
}
};
//单位毫秒
ti.schedule(task,2000,2000);//在方法中使用Timer对象调用schedule方法
//定义间隔时间
}

Day06:抽象类、接口和内部类(上)的更多相关文章

  1. Java抽象类接口、内部类题库

    一.    选择题 1. Person类和Test类的代码如下所示,则代码中的错误语句是(  C  ).(选择一项)   public class Person { public String nam ...

  2. Unit05 - 抽象类、接口和内部类(上)

    Unit05 - 抽象类.接口和内部类(上) 1.static final常量:  1)必须声明同时初始化  2)通过类名来访问,不能被改变  3)建议:常量名所有字母都大写(多个单词间用_)  4) ...

  3. Unit06 - 抽象类、接口和内部类(下) 、 面向对象汇总

    Unit06 - 抽象类.接口和内部类(下) . 面向对象汇总 1.多态:  1)意义:    1.1)同一类型的引用指向不同的对象时,有不同的实现        行为的多态:cut().run(). ...

  4. Java程序设计8——抽象类、接口与内部类

    1 抽象类 当编写一个类时,常常会为该类定义一些方法,这些方法用以描述该类的行为方式,那么这些方法都有具体的方法体.但在某些情况下,某个父类并不需要实现,因为它只需要当做一个模板,而具体的实现,可以由 ...

  5. Java核心技术卷一基础知识-第6章-接口与内部类-读书笔记

    第6章 接口与内部类 本章内容: * 接口 * 对象克隆 * 接口与回调 * 内部类 * 代理 接口技术主要用来描述类具有什么功能,而并不给出每个功能的具体实现.一个类可以实现(implement)一 ...

  6. 面向对象 继承 抽象类 接口 static 权限修饰符

    Day01 面向对象 继承 抽象类 接口 static 1.匿名对象是指创建对象时,只有创建对象的语句,却没有把对象地址值赋值给某个变量. 2.类的继承是指在一个现有类的基础上去构建一个新的类,构建出 ...

  7. 13. 抽象类 & 接口

    一.抽象类 // 抽象类Shape public abstract class Shape { // 1. 成员变量 private String color; // 2. 初始化块 { System ...

  8. Java 接口和内部类

    接口的方法默认死public,接口的属性默认为public static final. 为什么要接口,而不是使用抽象类.一个对象只能继承一个类,却可以实现多个接口. clone: Object的浅拷贝 ...

  9. [core java学习笔记][第六章接口与内部类]

    接口域内部类 接口 描述类具有什么功能,不给出具体实现. 内部类 用于设计协作关系的类集合 代理 实现任意接口的对象. 6.1 接口 接口声明 public interface Comparable ...

随机推荐

  1. solr创建core

    创建Core的两种方法: 第一种方法: 1.打开dos命令窗口,切换目录到${solr.home}\bin,然后输入:solr create -c corename之后回车: 2.打开solr安装文件 ...

  2. linux yum的配置文件 repo文件详解

    linux yum的配置文件 repo文件详解 什么是repo文件?repo文件是Fedora中yum源(软件仓库)的配置文件,通常一个repo文件定义了一个或者多个软件仓库的细节内容,例如我们将从哪 ...

  3. qt5--数据类型转换

    QString-->Char*        str.toUtf8().data() pointf=QPointF(point);       //将QPoint转换为QPointF point ...

  4. 【杂题】[AGC034D] Manhattan Max Matching【费用流】

    Description 有一个无限大的平面,有2N个位置上面有若干个球(可能重复),其中N个位置是红球,N个位置是蓝球,红球与蓝球的总数均为S. 给出2N个位置和上面的球数,现要将红球与蓝球完美匹配, ...

  5. sh_04_列表排序

    sh_04_列表排序 name_list = ["zhangsan", "lisi", "wangwu", "wangxiaoer ...

  6. Linux 环境安装运行Sqlmap

    1.官网下载 .tar.gz 文件   官网地址:http://sqlmap.org/ 2.登录访问linux环境,将压缩包放入/usr/local 路径. 3.在该路径下通过 tar -xzvf f ...

  7. Spring Boot教程(三十一)使用Spring-data-jpa(2)

    创建实体 创建一个User实体,包含id(主键).name(姓名).age(年龄)属性,通过ORM框架其会被映射到数据库表中,由于配置了hibernate.hbm2ddl.auto,在应用启动的时候框 ...

  8. [pytorch笔记] torch.nn vs torch.nn.functional; model.eval() vs torch.no_grad(); nn.Sequential() vs nn.moduleList

    1. torch.nn与torch.nn.functional之间的区别和联系 https://blog.csdn.net/GZHermit/article/details/78730856 nn和n ...

  9. supsplk 服务器被植入木马 挖矿 cpu使用 700%

    最近emr集群跑任务的时候总出现 task failed ,优化sql,调提交任务参数都没解决,最后再我排查时候,发现一个从节点的cpu使用800% 经过一些列排查,发现是被注入木马了, #被人种下的 ...

  10. [JZOJ5399]:Confess(随机化)

    题目描述 小$w$隐藏的心绪已经难以再隐藏下去了. 小$w$有$n+1$(保证$n$为偶数)个心绪,每个都包含了$[1,2n]$的一个大小为$n$的子集. 现在他要找到隐藏的任意两个心绪,使得他们的交 ...