巩固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 ...
随机推荐
- 安卓系统底层C语言算法之测试参数是几个long型的算法
#include <stdio.h> #define BITS_PER_LONG (sizeof(unsigned long) * 8) //求一个数x是几个long的长度 #define ...
- unix下对于字符串变量的各种操作总结
在unix like系统的shell中,提供了很多操作字符串变量的灵活语法,我们接下来依次来看一看. apple@kissAir: ~$path=$PATH apple@kissAir: ~$echo ...
- 如何将windows格式的图标作为os x应用程序的图标
刚由windows转为os x的同学可能知道,在os x下我们想改变一个app的图标异常简单,直接打开该app的简介,然后将图标文件拖入简介窗口左上角图标方框即可.但是很多童鞋下载了一些图标文件后发现 ...
- GEFGWT的HelloWorld
发现一个好玩的东西,gef-gwt,使用它可以轻松的在web上建立gef程序,原文在这里http://gefgwt.org/getting-started/(文章虽然是英文,但是很容易懂,我是按部就班 ...
- fastDFS与Java整合上传下载
由于项目需要整合个文件管理,选择使用的是fastDFS. 整合使用还是很方便的. 准备 下载fastdfs-client-java源码 源码地址 密码:s3sw 修改pom.xml 第一个plugin ...
- SDWebImage底层实现原理
SDWebImage底层实现有沙盒缓存机制,主要由三块组成 1.内存图片缓存2.内存操作缓存3.磁盘沙盒缓存内部实现过程:第一步,下载SDWebImage,导入工程. 第二步,在需要的地方导入头文件 ...
- MySQL中的行级锁,表级锁,页级锁
在计算机科学中,锁是在执行多线程时用于强行限制资源访问的同步机制,即用于在并发控制中保证对互斥要求的满足. 在数据库的锁机制中介绍过,在DBMS中,可以按照锁的粒度把数据库锁分为行级锁(INNODB引 ...
- Java 深度克隆 clone()方法重写 equals()方法的重写
1.为什么要重写clone()方法? 答案:Java中的浅度复制是不会把要复制的那个对象的引用对象重新开辟一个新的引用空间,当我们需要深度复制的时候,这个时候我们就要重写clone()方法. 2.为什 ...
- 转:<mvc:annotation-driven/>的注解意义
<mvc:annotation-driven /> 是一种简写形式,完全可以手动配置替代这种简写形式,简写形式可以让初学都快速应用默认配置方案.<mvc:annotation-dri ...
- FFMpeg编译之路
为了编译这个东西,快折腾了一个星期了.期间经历了很多痛苦的过程,今天我把整个过程,以及在这个过程的感悟写下来,以备日后查看,也希望能帮到一些像我一样的兄弟姐妹. 在这一个星期里前前后后加起来总共使用了 ...