三大修饰符static,final,abstract,接口和抽象类的区别
package com.cityhero.test;
public class ThreeModifier {
//static静态的
// 概念:static可以修饰方法和属性,被static修的方法和属性叫静态方法/静态属性,被该类的所有对象共享
// 使用:类名.方法/属性 对象.方法/属性(编译器会给出警告,告诉你这是一个静态的方法/属性,可以直接类名.方法/属性使用)
// static还可以修饰静态代码块,在类加载时,和static修饰的属性/或方法,按照定义的先后顺序,依次进行初始化工作
// 用途:例如配置文件读取,可以在类加载时执行一次就OK了,提高性能
//类加载 jvm在第一次使用某个类时,会到classpath下寻找对应的.class文件,读取并保存起来的过程.类加载的时机:new对象,new子类对象,调用static成员
// 类加载以后,其实是把类的相关信息保存在方法区,包括类的全限定名,方法和方法描述符,字段和字段描述符
// 类的class访问标志,属性信息等等这个类的信息存储起来.当我们new一个对象的时候,jvm为对象分配的内存空间实际有很多都是指向方法区的引用
// 在class文件结构中叫常量池的引用,后面会详细讲解.
//final最终的
// final修饰的变量只能被赋值一次,也叫常量
// final修饰的类不能被继承,如果类被final修饰,则里面的方法都是final的
// 自然final修饰的方法不能被覆盖
// final修饰的类变量,可以在static静态代码块中赋值一次,或者初始化static属性时赋值
// final修饰的实例变量,可以在构造方法中赋值一次,且需要保证所有的构造方法都赋值了,jvm不会为两者赋默认值
//abstract抽象的
// abstract可以修饰方法,类
// 强制使用多态,不能实例化,可以声明引用
// 子类继承抽象类时,必须实现所有的抽象方法,除非子类又是抽象的
//interface接口
// 接口是特殊的抽象类
// 类时单继承,接口是多继承
// 都不可以实例化
// 接口的方法都是抽象的
// ....
}
三大修饰符static,final,abstract,接口和抽象类的区别的更多相关文章
- 修饰符static和abstract
修饰符static和abstract static static可以修饰类中的方法,属性等,被修饰后的方法和属性可以通过类名直接调用也可以通过对象调用.普通的变量只能通过对象进行调用. 静态方法直接可 ...
- Java从入门到放弃——05.修饰符static,final,权限修饰符
本文目标 static final: 权限修饰符:public,private,protected,缺省 1.static 静态修饰符,被static修饰的变量或者方法会被加载进静态区内存,不需要创建 ...
- day01 包 权限修饰符 static final
- java修饰符public final static abstract transient
JAVA 修饰符public final static abstract transient 关键字: public final static abstract ... 1.public prot ...
- 浅析java修饰符之public default protected private static final abstract
浅析java修饰符之public default protected private static final abstract 一 修饰符的作用:用来定义类.方法或者变量,通常放在语句的最前端 ...
- java中三大修饰符
一.static 1.属性:类变量 定义在类以内,方法以外,全类有效,全类公共一个属性 类变量与创建对象无关,有默认值0 使用方式 类名.类变量 System.out.println(); ...
- 访问修饰符与可选修饰符static的使用
在Java中修饰符较多,在这里简单说一说几个访问修饰符的选择使用,和可选修饰符static的使用. 一.访问修饰符:这是Java里用来控制访问类及类的方法.变量的访问权限,从而达到只暴露接口,来隐藏内 ...
- ArcGIS AddIN开发异常之--修饰符“static”对该项无效
修饰符“static”对该项无效, 修饰符“internal”对该项无效. 该异常弹出的位置为Config.Designer.CS文件中相关插件的声明附近 internal static string ...
- 【语法】修饰符 static extern const
转载自:http://my.oschina.net/u/2560887/blog/552683 一.C语言中的static的作用 在C语言中,static的字面意思很容易把我们导入歧途,其实它的作用有 ...
随机推荐
- sql primary key 约束
PRIMARY KEY 约束唯一标识数据库表中的每条记录. 主键必须包含唯一的值. 主键列不能包含 NULL 值. 每个表都应该有一个主键,并且每个表只能有一个主键. SQL PRIMARY KEY ...
- python -- 装饰器的高级应用
装饰器和装饰器模式装饰器模式是面向对象的一种设计模式,支持将行为动态增加到已经存在的对象上.当装饰一个对象的时候,就表示独立与其他类实例对象,为该对象扩展了新的功能. python的装饰器不是装饰器模 ...
- Java的常用操作符
操作符用于接受一个或多个参数,并生成一个新的值.加号和一元的正号(+).减号和一元的负号(一).乘号(*).除号(/)以及赋值号(=)的用法和大多数编程语言都类似. 操作符作用于操作数,生成一个新值. ...
- Spring-MVC请求参数值和向页面传值
读取请求参数值 方式一:通过HttpServletRequest req做参数 DispatcherServlet在调用处理的方法之前,利用Java反射分析方法的结构,通过分析,将req对象传过来 方 ...
- 开源的API集成测试工具 v0.1.2 - 增强体验
Hitchhiker 是一款开源的 Restful Api 集成测试工具,你可以在轻松部署到本地,和你的team成员一起管理Api. 详细介绍请看: http://www.cnblogs.com/br ...
- MySQL(九)之数据表的查询详解(SELECT语法)二
上一篇讲了比较简单的单表查询以及MySQL的组函数,这一篇给大家分享一点比较难得知识了,关于多表查询,子查询,左连接,外连接等等.希望大家能都得到帮助! 在开始之前因为要多表查询,所以搭建好环境: 1 ...
- NOPI读xls文件写到txt中(NPOI系列二)
private void button2_Click(object sender, EventArgs e) { StringBuilder sb = new StringBuilder(); //找 ...
- [转载]浏览器事件window.onload、onfocus、onblur、ons
原文地址:浏览器事件window.onload.onfocus.onblur.onscroll和resize作者:lilyxiao <html> <head> <titl ...
- oop学习 计算器类的规划
类的学习 题目要求 采取面向对象的方法,四则运算自动出题软件,根据需求可以划分为几个类?每个类具有什么属性?每个类具有什么行为? 类与类之间是如何进行协作的?谁给谁发送消息?谁持有谁的引用? 该自动出 ...
- SNS团队第六次站立会议(2017.04.27)
一.当天站立式会议照片 本次会议主要内容:汇报工作进度,根据完成情况调整进度 二.每个人的工作 成员 今天已完成的工作 明天计划完成的工作 罗于婕 导入相关词库数据 研究如何存取语音.图片文件 龚晓 ...