巩固java(三)---java修饰符
| 修饰符名称 | 类型 | 类 | 变量 | 方法 |
| abstract | 非访问控制符 | 抽象类 | -- | 抽象方法 |
| final | 非访问控制符 | 最终类 | 最终变量 | 最终方法 |
| static | 非访问控制符 | -- | 静态变量 | 静态方法 |
| volatile | 非访问控制符 | -- | 易失变量 | -- |
| native | 非访问控制符 | -- | -- | 本地方法 |
| synchronized | 非访问控制符 | -- | -- | 同步方法 |
| public | 访问控制符 | 有 | 有 | 有 |
| 默认修饰符 | 访问控制符 | 有 | 有 | 有 |
| private | 访问控制符 | 无 | 有 | 有 |
| protected | 访问控制符 | 无 | 有 | 有 |
1.非访问控制符
1.1类修饰符
1.1.1 抽象类:abstract
abstract class TestAbstract {
public abstract void say();
public void tell(){
System.out.println("我是抽象类的非抽象方法tell()" );
};
}
public class Son extends TestAbstract{
public void say() {
System. out.println( "我必须实现父类的抽象方法say()" );
}
public static void main(String args[]){
Son son = new Son();
son.say();
son.tell();
}
}
1.1.2 最终类:final
1.2 变量修饰符
1.2.1 静态变量:static
public class TestStatic {
static String name = "静态变量";
public static void main(String[] args) {
System. out.println(TestStatic. name);
}
}
public class TestStatic { static
{
System.out.println("我是静态初始化器");
} public static void main(String[] args) { }
}
1.2.2 最终变量:final
final int N = 100;
0;
static final int N = 100;
1.2.3 易失变量:volatile
1.3 方法修饰符
1.3.1抽象方法:abstract
就像前边抽象类讲的一样,抽象方法主要是提供一个统一的接口,使所有子类对外呈现一个相同名字的方法。抽象方法只有方法头,没有方法体。抽象方法必须写在抽象类里边。
1.3.2静态方法:static
public class TestStatic {
static void method(){
System. out.println( "我是静态方法" );
}
public static void main(String[] args) {
TestStatic.method();
}
}
1.3.3 最终方法:final
class Parents{
final void say(){
System. out.println( "我不能被继承" );
}
}
public class TestFinal extends Parents{
void say(){ //这个方法其实不可以被继承,这样写会报错
System. out.println( "我可以被继承" );
}
}
1.3.4 本地方法:native
1.3.5 同步方法:synchronized
2.访问控制符
| 范围 | public | private | protected | 默认 |
| 同一类中可见 | 是 | 是 | 是 | 是 |
| 同一包中对子类可见 | 是 | 否 | 是 | 是 |
| 同一包中对非子类可见 | 是 | 否 | 是 | 是 |
| 不同包对子类可见 | 是 | 否 | 是 | 否 |
| 不同包对非子类可见 | 是 | 否 | 否 | 否 |
版权声明:本文为博主原创文章,未经博主允许不得转载。
巩固java(三)---java修饰符的更多相关文章
- 关于Java的权限修饰符(public,private,protected,默认friendly)
以前对访问修饰符总是模棱两可,让自己仔细解释也是经常说不很清楚.这次要彻底的搞清楚. 现在总结如下: 一.概括总结 各个访问修饰符对不同包及其子类,非子类的访问权限 Java访问权限修饰符包含四个:p ...
- Java中final修饰符深入研究
一.开篇 本博客来自:http://www.cnblogs.com/yuananyun/ final修饰符是Java中比较简单常用的修饰符,同时也是一个被"误解"较多的修饰符.对很 ...
- Java中的 修饰符
java中的修饰符分为类修饰符,字段修饰符,方法修饰符. 根据功能的不同,主要分为以下几种. 1.权限访问修饰符 访问权限的控制常被称为具体实现的隐藏 把数据和方法包进类中,以及具体实现的隐藏,常共 ...
- 深入理解Java的protected修饰符
其实Java的protected修饰符,权限定义的很微妙,大致有以下几种: (1)protected控制符用于修饰方法和成员变量: (2)一个类的protected方法或成员变量,在包外是不能通过该类 ...
- java访问权限修饰符
作用域 当前类 同一package 子孙类 其他package public √ √ √ √ protected √ √ √ × friendly √ √ × × private √ × × × ja ...
- Java中各种修饰符与访问修饰符
Java中各种修饰符与访问修饰符 类: 访问修饰符 修饰符 class 类名称 extends 父类名称 implement 接口名称 (访问修饰符与修饰符的位置可以互换) 访问修饰符 名称 说明 备 ...
- Java中访问修饰符public、private、protecte、default
Java中访问修饰符public.private.protecte.default的意义讲解:public: Java语言中访问限制最宽的修饰符,一般称之为“公共的”.被其修饰的类.属性以及方法不 仅 ...
- java中的修饰符和基本数据类型
1.java中的修饰符 java中的修饰符主要是用来对类资源进行一个权限控制,上面表格表现的很清晰,无需多言. 2.java中的基本数据类型 java中的数据类型分为引用类型和基本类型.基本数据类型有 ...
- 对于Java中权限修饰符的理解
老是把Java中权限修饰符给忘记,写一个博客加深印象吧 权限分为四个作用域:当前类,同一个包,其他包的子类,其他包的类. 首先要知道包的概念,Java中一个包是指一个package下的所有文件. pr ...
- Java变量的修饰符
1.public public的类.类属变量及方法,包内及包外的任何类均可以访问: 2.protect protected的类.类属变量及方法,包内的任何类,及包外的那些继承了此类的子类才能访问: 3 ...
随机推荐
- 11个超棒的iOS开发学习网站
原文:11 Insanely Great iOS Developers Sites 永不止步地向他人学习 我相信,要想从一个"还不错"的人变成一个卓越的人,我们需要不停地向他人学习 ...
- 利用可变参实现fprintf函数
#include <stdio.h> #include <stdarg.h> /* 可变参相关接口 typedef char * va_list ; void va_start ...
- OpenCV——去雾
这是一个简化的实现算法,完整的算法请参考: Single Image Haze Removal Using Dark Channel Prior --CVPR 2009 // define head ...
- ActiveMQ 入门
1.下载ActiveMQ 去官方网站下载:http://activemq.apache.org/ 2.运行ActiveMQ 解压缩apache-activemq-5.5.1-bin.zip,然后双击a ...
- Spring 学习笔记---Bean的生命周期
生命周期图解 由于Bean的生命周期经历的阶段比较多,我们将通过一个图形化的方式进行描述.下图描述了BeanFactory中Bean生命周期的完整过程: Bean 的生命周期从Spring容器着手实例 ...
- 棋盘的完美覆盖问题,c++代码实现
#include "stdafx.h" #include<iostream> #include<iomanip> using namespace std; ...
- Ubuntu16.04部署phantomjs的一个问题
首先phantomjs是作为pyspider的一个外部依赖组件部署的. apt安装完出现问题: QXcbConnection: Could not connect to display Phantom ...
- Linux服务器安全审计工具与流程完全指南
http://Linux.chinaitlab.com/server/860516.html 当今许多linux服务器都不是刚刚部署完毕的新机器,有专业的Linux系统管理员进行定期维护,IT技术人员 ...
- 保证你能看懂的KMP字符串匹配算法
文章转载自一位大牛: 阮一峰原网址http://www.ruanyifeng.com/blog/2013/05/Knuth%E2%80%93Morris%E2%80%93Pratt_algorithm ...
- java之Spring(AOP)-Annotation实现添加切面
我们已经知道之前的切面添加方式(动态代理),是定义了一个实现了InvocationHandler接口的Handlerservice类,然后 在这个类内部写好切面逻辑,包括切面放置的位置,很显然下面的这 ...