巩固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 ...
随机推荐
- 未能加载文件或程序集“file:///C:\Program Files (x86)\SAP BusinessObjects\Crystal Reports for .NET Framework 4.0
未能加载文件或程序集"file:///C:\Program Files (x86)\SAP BusinessObjects\Crystal Reports for .NET Framewor ...
- hbase 集群管理脚本
#!/bin/bash # Show all running Java processes on region servers. Must run on master using HBase owne ...
- OpenCV实现图像物体轮廓,前景背景,标记,并保存。
#include <iostream> // for standard I/O #include <string> // for strings #include <io ...
- PHP基本的语法结构
学过C语言的话,上手PHP语言就非常快了,如果你有bash shell的基础,那恭喜你,上手PHP会更快,我们先来了解一下一些比较简单的东西,界定符和注释在PHP中的写法: 一 php文档的语法结构 ...
- Graph Cuts学习笔记2014.5.16----1
进行了一段时间的论文学习后,现在下载了一些代码,准备从OpenCV跟matlab两个方面着手搭建自己的图像分割平台,计划耗时一个月左右的时间! 昨天去西工大,听了一场Graph Asia的报告,里面有 ...
- 分布式Ruby解决之道
其实用Druby很久了,今天需要完成一个进程数据同步的机制,我需要的不是运行速度快,不是用 linux / mac 下的扩展,而是独立,快速开发效率,方便最简单的Ruby环境可运行,可以吗? DRb( ...
- django2.0升级日记
1.大量的外键定义需要加on_delete参数 2.'WSGIRequest' object has no attribute 'session',这个问题是因为settings中middleware ...
- SQL Server复制表结构和表数据生成新表的语句
参考:http://topic.csdn.net/t/20020621/09/820025.html SELECT * INTO newTableName FROM oldTabl ...
- jsoup 使用总结3--高级用法之 not
jsoup 使用总结3--高级用法之 not 大部分时候,我们使用jsoup解析网页的时候,都是直接找到某一类元素,或者按某种selector查询:具体使用方法可以参考jsoup官网文档 例子代码: ...
- asp.net core ABP模板本地化设置
ABP的语言本地化设置非常方便,甚至地区图标ABP框架都已经有了. 先看看结果吧. 英文的界面 中文的界面 配置流程如下: 首先在Localization目录下新建一个对应的json文件,里面存放对应 ...