java中abstract和final_JAVA中abstract,interface,final,static语法

一,抽象类:abstract

1,只要有一个或一个以上抽象方法的类,必须用abstract声明为抽象类;

2,抽象类中可以有具体的实现方法;

3,抽象类中可以没有抽象方法;

4,抽象类中的抽象方法必须被它的子类实现,如果子类没有实现,则该子类继续为抽象类

5,抽象类不能被实例化,但可以由抽象父类指向的子类实例来调用抽象父类中的具体实现方法;通常作为一种默认行为;

6,要使用抽象类中的方法,必须有一个子类继承于这个抽象类,并实现抽象类中的抽象方法,通过子类的实例去调用;

二,接口:interface

1,接口中可以有成员变量,且接口中的成员变量必须定义初始化;

2,接口中的成员方法只能是方法原型,不能有方法主体;

3,接口的成员变量和成员方法只能public(或缺省不写),效果一样,都是public

4,实现接口的类必须全部实现接口中的方法(父类的实现也算,一般有通过基类实现接口中个异性不大的方法来做为适配器的做法)

三,关键字:final

1,可用于修饰:成员变量,非抽象类(不能与abstract同时出现),非抽象的成员方法,以及方法参数

2,final方法:不能被子类的方法重写,但可以被继承;

3,final类:表示该类不能被继承,没有子类;final类中的方法也无法被继承.

4,final变量:表示常量,只能赋值一次,赋值后不能被修改.final变量必须定义初始化;

5,final不能用于修饰构造方法;

6,final参数:只能使用该参数,不能修改该参数的值;

四,关键字:static

1,可以修饰成员变量和成员方法,但不能修饰类以及构造方法;

2,被static修饰的成员变量和成员方法独立于该类的任何对象。也就是说,它不依赖类特定的实例,被类的所有实例共享

3,static变量和static方法一般是通过类名直接访问,但也可以通过类的实例来访问(不推荐这种访问方式)

4,static变量和static方法同样适应java访问修饰符.用public修饰的static变量和static方法,在任何地方都可以通过类名直接来访问,但用private修饰的static变量和static方法,只能在声明的本类方法及静态块中访问,但不能用this访问,因为this属于非静态变量.

五,static和final同时使用

1,static final用来修饰成员变量和成员方法,可简单理解为“全局常量”!

2,对于变量,表示一旦给值就不可修改,并且通过类名可以访问。

3,对于方法,表示不可覆盖,并且可以通过类名直接访问。

转:Java中abstract和interface的区别

转自:Java中abstract和interface的区别 abstract class和interface是Java语言中对于抽象类定义进行支持的两种机制,正是由于这两种机制的存在,才赋予了Java ...

java修饰符public final static abstract transient

JAVA 修饰符public final static abstract transient  关键字: public final static abstract ...  1.public prot ...

Java 中常见的 final 类

Java 中常见的 final 类 java.lang 包 public final class Boolean extends Object implements Serializable, Com ...

`Java`中`abstract class`与`interface`区别

abstract class Java中允许使用abstract修饰符声明方法,此时只定义方法但是不实现方法(abstract修饰的方法没有主体,只有一个签名和一个分号). 以下是abstract方法 ...

java中的interface

转载: Java不支持多重继承,即一个类只能有一个父类 为了克服单继承的缺点,Java使用了接口,一个类可以实现多个接口 接口是抽象方法和常量值定义的集合,是一种特殊的抽象类接口中只包含常量和方法的定 ...

java 中的静态(static)代码块

类字面常量 final 静态域不会触发类的初始化操作 非 final static 静态域(以及构造器其实是一种隐式的静态方法) Class.forName():会自动的初始化: 使用 .class来 ...

Java中synchronized 修饰在static方法和非static方法的区别

[问题描述]关于Java中synchronized 用在实例方法和对象方法上面的区别 [问题分析]大家都知道,在Java中,synchronized 是用来表示同步的,我们可以synchronized ...

java 中 Cannot make a static reference to the non-static 解决方法

今天敲代码的时候遇到了这个问题,大体这个问题可以简化成这样: public class Test1 { public String get() { return "123"; } ...

Java中abstract和interface的区别

abstract class和interface是Java语言中对于抽象类定义进行支持的两种机制,正是由于这两种机制的存在,才赋予了Java强大的面向对象能力. abstract class和inte ...

随机推荐

HDU 3835 R(N)

R(N) Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submis ...

BZOJ2435: [Noi2011]道路修建

这种水题真是……没一次AC都不好意思见人啊 P.S. LINUX无限栈真是爽炸了… 我爱递归 /**************************************************** ...

MVC中HttpContext, HttpContextBase, HttpContextWrapper联系

HttpContext // // 摘要: // 封装有关个别 HTTP 请求的所有 HTTP 特定的信息. public sealed class HttpContext : IServicePro ...

yo angualr-fullstatck 项目打包部署

yoeman使用grunt进行打包部署,直接运行grunt命令即可,期间会对代码进行检查,如果存在不规范的地方jshint会指定出来. grunt会对静态资源进行打包而且对资源文件名进行了MD5作为版 ...

Windows编程坐标系统概念

Windows编程中关于设置映象模式的四个函数 SetWindowOrgSetViewPortOrgSetMapModeSetWindowExtExSetViewPortExtEx 一.Windows ...

打鼹鼠 HNOI 2004

动态规划题从题目中可以发现是一个时间递增的过程,所以只要是在后面的点都是后出现的,换句话说,在条件达成时,前面的点可以到达后面的点,求最长的一条链,非常的像LIS(最长上升子序列),只要将 f[i]& ...

提高UI设计效率的4个技巧

提高UI设计效率的4个技巧 如何提高UI设计的速度?在这里分享一些我观察到的常见问题和改善方式.当然,需要注意的地方何其多. 身为设计师的你,应该要了解工程实作的基本原理: 业界 NG 率:接近 10 ...

java常用IO流集合用法模板

package com.fmy; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import jav ...

jqurey.running.min.js运动的字体效果

参考网址: http://yanshi.sucaihuo.com/jquery/22/2226/demo/ 里面有详细的解释 下面是案例效果demo,其中jquery.running.css与jque ...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值