Day15-static、抽象类、接口、内部类
static、抽象类、接口、内部类
一.static关键字详解
1.静态的变量/方法
package Demo02;
//static
public class Student {
private static int age;//静态的变量 多线程
private double score;//非静态的变量
public void run(){
}
public static void go(){
}
public static void main(String[] args) {
Student s1 = new Student();
System.out.println(Student.age);
//System.out.println(Student.score);报错
System.out.println(s1.age);
System.out.println(s1.score);
Student.go();
go();
//Student.run();报错
new Student().run();
}
}
2.静态代码块
package Demo02;
public class Person {
//2:赋初始值
{
//代码块(匿名代码块)
System.out.println("匿名代码块");
}
//1:只执行一次
static {
//静态代码块
System.out.println("静态代码块");
}
//3
public Person() {
System.out.println("构造方法");
}
public static void main(String[] args) {
Person person1 = new Person();
System.out.println("==========================");
Person person2 = new Person();
// 静态代码块
// 匿名代码块
// 构造方法
// ==========================
// 匿名代码块
// 构造方法
}
}
3.静态导入包
package Demo02;
//静态导入包
import static java.lang.Math.random;
import static java.lang.Math.PI;
public class test {
public static void main(String[] args) {
//未导入包时书写
System.out.println(Math.random());//随机数
//导包后书写
System.out.println(random());
System.out.println(PI);
}
}
二.抽象类
1.抽象类
package Demo03;
//abstact 抽象类:类 extends:单继承
//接口可以多继承
public abstract class Action {
//约束~有人帮我们实现~
//abstract 抽象方法,只有方法名字,没有方法实现
public abstract void doSomethig();
}
2.抽象类继承
package Demo03;
//抽象类的所有类方法,继承了他的子类。都必须要实现它的方法
//除非子类本身也是abstract
public class A extends Action {
@Override
public void doSomethig() {
}
}
三.接口
声明类的关键字是class,声明接口的关键字是interface
1.接口UserService
package Demo04;
//interface定义的关键字,接口都需要有实现类
public interface UserService {
//接口中的所有定义,其实都是抽象的 public abstract
//public abstract void run();如下
//常量 public static final int age = 99;
int age=99;
void add(String name);
void delete(String name);
void update(String name);
void query(String name);
}
2.接口TimeService
package Demo04;
public interface TimeService {
void timer();
}
3.实现类
package Demo04;
//抽象类 extends
//类可以实现接口 implements
//实现了接口得类,必须要重写接口中的所有方法
//多继承~利用接口实现多继承
public class UserServiceImpl implements UserService,TimeService {
@Override
public void timer() {
}
@Override
public void add(String name) {
}
@Override
public void delete(String name) {
}
@Override
public void query(String name) {
}
@Override
public void update(String name) {
}
}
四.内部类
package Demo05;
public class Outer {
public void methor(){
class A{
//局部内部类
}
}
private int id=10;
public void out(){
System.out.println("这是外部类的方法");
}
//一个java文件中可以有多个class类,但是只能有一个public class
class Inner{
public void in(){
System.out.println("这是内部类的方法");
}
//获得外部类的私有属性
public void getID(){
System.out.println(id);
}
}
}
package Demo05;
public class Application {
public static void main(String[] args) {
//new
Outer outer = new Outer();
//通过这个外部类来实例化内部类
Outer.Inner inner = outer.new Inner();
inner.in();
inner.getID();
}
}
ps:这里现阶段不是很懂也没关系。。。以后还会详细说
Day15-static、抽象类、接口、内部类的更多相关文章
- Java入门教程十(抽象类接口内部类匿名类)
抽象类(abstract) 一个类只定义了一个为所有子类共享的一般形式,至于细节则交给每一个子类去实现,这种类没有任何具体的实例,只具有一些抽象的概念,那么这样的类称为抽象类. 在面向对象领域,抽象类 ...
- 【Java】对象、类(抽象类与内部类)、接口
博文内容概况 对象和类 抽象类 接口 内部类 对象和类 对象是对客观事物的抽象,类是对对象的抽象.类是一种数据类型,其外观和行为由用户定义.类中可以设置两种类型的元素:字段(有时被称为数据成员)和方法 ...
- -1-2 java 面向对象基本概念 封装继承多态 变量 this super static 静态变量 匿名对象 值传递 初始化过程 代码块 final关键字 抽象类 接口 区别 多态 包 访问权限 内部类 匿名内部类 == 与 equal
java是纯粹的面向对象的语言 也就是万事万物皆是对象 程序是对象的集合,他们通过发送消息来相互通信 每个对象都有自己的由其他的对象所构建的存储,也就是对象可以包含对象 每个对象都有它的类型 也就是 ...
- JavaSE学习总结(六)——接口、抽象类、内部类
一.不需要实例化的原因 看一个示例: package com.zhangguo.chapter5.s1; /**动物园*/ public class Zoo { public static void ...
- 06 面向对象:多态&抽象类&接口&权限修饰符&内部类
多态: /* 多态(polymorphic)概述 * 事物存在的多种形态 多态前提 * a:要有继承关系. * b:要有方法重写. * c:要有父类引用指向子类对象. * 成员变量 * 编译看左边(父 ...
- 面向对象 继承 抽象类 接口 static 权限修饰符
Day01 面向对象 继承 抽象类 接口 static 1.匿名对象是指创建对象时,只有创建对象的语句,却没有把对象地址值赋值给某个变量. 2.类的继承是指在一个现有类的基础上去构建一个新的类,构建出 ...
- Java语言简介、基础组成、封装、继承、多态、抽象类、内部类、接口
目录 Java简介 Java语言基础组成 面向对象 对象 封装 构造函数 this关键字 static(静态关键字) 主函数 静态什么时候用呢? 面向对象(数组工具对象建立) 设计模式 继承 成员变量 ...
- Java中:接口,抽象类,内部类
Java8中的接口 public interface Output { //接口里定义的成员变量只能是常量 //默认使用public static final修饰 int MAX_CACHE_LINE ...
- 13. 抽象类 & 接口
一.抽象类 // 抽象类Shape public abstract class Shape { // 1. 成员变量 private String color; // 2. 初始化块 { System ...
- java - day008 - 接口,内部类
接口 作用: 结构设计工具,用来解耦合,需要有子类,隔离具体实现 接口是一个极端的抽象类 用 interface 代替 class 用 implements 代替 extends // 接口中所有东西 ...
随机推荐
- Tomcat集群配置--负载均衡
Tomcat集群配置学习篇-----分布式应用 现目前基于javaWeb开发的应用系统已经比比皆是,尤其是电子商务网站,要想网站发展壮大,那么必然就得能够承受住庞大的网站访问量:大家知道如果服务器访问 ...
- 【Hive】元数据库部署的三种方式和选择【metaStore server】
一.Derby 元数据使用之前,要在hive目录下执行schematool命令,进行初始化设置 bin/schematool -dbType derby -initSchema 启动hive后,可以用 ...
- JAVA学习笔记-06
多态:可以理解为事物存在的多种体现形态 1.多态的基本体现 父类的引用指向了自己的子类对象 父类的引用也可以接收自己的子类对象 2.多态的前提 必须是类与类之间有关系,要么继承,要么实现 通常还有一个 ...
- windows下BAT实现守护进程
通过bat守护特定exe @echo off :start choice /t 5 /d y /n >nul tasklist|find /i "程序名称.exe" if E ...
- Java基础__04.GUI编程
GUI编程常见的组件: 窗口 弹窗 面板 文本框 列表框 按钮 图片 监听事件 鼠标操作 键盘事件 GUI简介 GUI的核心技术:Swing AWT,是需要jre环境的. AWT介绍 包含了很多类和接 ...
- sqoop,hive2mysql
sqoop export \ --connect jdbc:mysql://master:3306/testdb \ --username hive \ --password 123456 \ --t ...
- Excel比较两列是否相等
通常的方式: 先将两列排序 通过判定如 =A1=B1 或者ctrl + \ (mac 是 command) 可以定位到差异的那行
- input file 图片上传前预览
1.获取到这个File对象之后就可以获取到上传文件的一些属性,比如:lastModified(代表文件的修改日期,而非上传日期).name.size(单位是b).type(例如图片就是"im ...
- nop 中创建任务(Task)
NopCommerce 中Task 原理是服务端开启线程定时跑. 1.在数据表ScheduleTask中添加一条数据, 2.自定义类,继承ITask 即可 using Data.Log4Net; us ...
- Docker宿主机agetty进程cpu占用率100% 问题
参考 https://blog.51cto.com/u_15450131/4751959 systemctl stop getty@tty1.service systemctl mask getty ...