修饰符的作用是啥? 用来定义类.方法或者变量的访问权限 两大类 访问修饰符 限定类.属性或方法是否可以被程序里的其他部分访问和调用的修饰符 private<default<protected<public 非访问修饰符 例如static.final.abstract.synchronized等 死记硬背 外部类修饰符:public或者为默认(default) 方法.属性修饰符:private.default.protected.public public ->公开对外部可见 pro…
C# 基础(一) 访问修饰符.ref与out.标志枚举等等 一.访问修饰符 在C#中的访问修饰符有:private.protected.internal.public public:公共类型,同一程序集或其他程序集都可以访问此成员 private:私有类型,同一类里或结构里才可以访问此成员 protected:保护类型,同一类里或者派生类中才可以访问此成员 internal:内部类型,只有在同一程序集才可以访问此成员 访问性不一致:子类的访问权限不能比父类高.防止暴露父类的信息.. 二.stat…
Java基础——protected访问修饰符探讨 根据官方说法:(如图) protected修饰符是可以修饰其他包中的子孙类的,但是我做了个实验,结果发现了一个有趣的现象! 具体请往下看: package com.demo1; public class Demo1 { protected Demo1(){ System.out.println("protected"); } protected void function(){ System.out.println("受保护方…
Windows内核基础知识-2-段描述符 比如: ES 002B 0(FFFFFFFF) 意思就是es段寄存器,段选择子/段选择符 为002B, 起始地址base为0, 限制范围Limit地址最大能寻找的长度为:FFFFFFFF,表示的是一个范围.从.base到最后最长的地址的相对值. 简单来说就是偏移地址的范围.地址=段寄存器基址base+偏移地址,这个limit可以理解为偏移地址的范围 可以看到所有的段寄存器除了FS别的都是一样的. 获取段寄存器的信息: 如果你正常在调试,用什么WinDbg…
一.说明 访问修饰符可以用于修饰类或类的成员(属性.方法.构造器.内部类) 二.特点   名称 本类 本包 其他包的子类 其他包的非子类 private 私有的 √ × × × 缺省 默认 √ √ × × protected 受保护的 √ √ √ × public 公共的 √ √ √ √ 修饰类,只能通过缺省和public修饰修饰成员(属性.方法.构造器.内部类),可以通过以上四种修饰 三.总结 如果想访问其他类的成员: 步骤1:先看该类是否在同一个包 如果是,则直接创建对象,并进行步骤2 如果…
做C#.Java的人都知道private.protect.public这些访问权限,在OC中看项目基本都没用到这些,昨天就好奇的仔细了解了下,其实OC中也是有这些访问权限的修饰.说实话有好多做过编程的也未必对这些基础知识了解. 1.分清属性和变量的区别 属性是对变量的封装,可以通过属性(get\set)方法来访问变量.例如有一些变量(例如年龄.性别等)在赋值或取值要满足一些条件,那如何解决呢? 于是属性就应运而生,用它的get.set方法来解决这个问题 ,这也是面向对象中封装的体现. 2.pri…
写在最前面 这个项目是从20年末就立好的 flag,经过几年的学习,回过头再去看很多知识点又有新的理解.所以趁着找实习的准备,结合以前的学习储备,创建一个主要针对应届生和初学者的 Java 开源知识项目,专注 Java 后端面试题 + 解析 + 重点知识详解 + 精选文章的开源项目,希望它能伴随你我一直进步! 说明:此项目我确实有很用心在做,内容全部是我参考了诸多博主(已注明出处),资料,N本书籍,以及结合自己理解,重新绘图,重新组织语言等等所制.个人之力绵薄,或有不足之处,在所难免,但更新/完…
前言:玩儿编程最重要的一点:不要怕麻烦,感觉是在浪费时间: 能动手绝不哔哔:只要脑袋不傻,编程都是"一看就会,一练就废",开始学的时候,就算再基础的东西都建议手敲一遍 要有囫囵吞枣的精神:因为有时学习的时候,知识牵扯会很多,所以学的时候有时不懂就死记,记住这个点是这么做就行,但是记得备注好,然后学到相关知识了或者学完整个体系了,再回去把备注的地方更新(弄好为什么的原因),最后梳理在自己脑海中 学完东西及时梳理知识内容,在脑海中形成自己的知识体系----写写博客.文档.文件.画画思维导图…
最近回顾了一下Java的基础知识,决定写成博客梳理一遍,主要是JavaSE部分最基础的知识,适合考前突击,学后回顾,不适合作为初学材料. 简单的列个目录吧: 一.数据类型和运算符 二.流程控制与数组 三.面向对象基础 四.集合概述 五.泛型入门 六.异常处理 七.输入输出 八.多线程 九.反射 一.数据类型和运算符 这一块基本上各种语言都大同小异 基本数据类型: 整数类型:byte 1个字节 short 2个字节 int 4个字节 long 8个字节 字符类型:char 2个字节 浮点类型:fl…
今晚随便温习了一下iOS 基础关于修饰符这块的东西,下面简单的来描述一下,其中有的也是在网络学习到的: strong与weak是由ARC新引入的对象变量属性 ARC的解释:ARC引入了新的对象的生命周期限定,即零弱引用.如果零弱引用指向的对象被deallocated的话,零弱引用的对象会被自动设置为nil. 强引用与弱引用的广义区别:强引用也就是我们通常所讲的引用,其存亡直接决定了所指对象的存亡.如果不存在指向一个对象的引用,并且此对象不再显示列表中,则此对象会被从内存中释放.弱引用除了不决定对…
final作为一个修饰符,可以修饰类.变量.函数. 1.被final修饰的类不可以被继承(保护封装性),为了避免被继承,被子类复写: 2.被final修饰的函数不可以被复写 3.被final修饰的变量是一个常量,只能赋值一次,既可以修饰成员变量,又可以修饰局部变量. 什么时候用final修饰呢? 当在描述事物时,一些数据的出现值是固定的,那么这时为了增强阅读性,都给这些值取一个名字,而这些值不需要改变,所以加上final修饰.…
一.异常的理解及体系结构图 1.理解 异常:程序运行过程中发生的不正常现象.java中的错误: 语法错误 运行异常 逻辑错误 2.体系图 java程序在执行过程中所发生的异常分为两类: Error:Java虚拟机无法解决的严重问题.如JVM系统内部错误.资源耗尽等严重情况(StackOverflowError.OOM),一般不编写针对性的代码进行处理 Exception:其它因编程错误或偶然的外在因素导致的一般性问题,可以使用针对性的代码进行处理.一般有两种解决方法:一是遇到错误就终止程序的运行…
一.抽象类 1.理解 用abstract关键字定义的类,称为抽象类用abstract关键字定义的方法,称为抽象方法意义:当设计父类时,发现该父类根本不需要创建对象,并且里面有不好描述的方法.这个时候往往将该父类设计成抽象类! 2.abstract关键字 abstract属于一种修饰符,只能用于修饰类或方法,不能修饰属性.构造器.局部变量 3.抽象类 语法: [修饰符] abstract class 类名{}特点: ①抽象类不可以使用final修饰符,原因:和抽象类的意义冲突(final修饰的类不…
一.重写 1.说明 子类对继承过来的父类的方法进行改造,这种现象称为方法的重写或覆盖或覆写(Override) 2.要求 方法签名完全一致,jdk5.0之后,允许返回类型可以是子类类型,权限修饰符可以更大了 二.重载 1.说明 java中提供了一种机制,允许同一个类中多个同名但参数列表不同的方法存在 2.要求 ①同一个类中②方法名必须相同③参数列表必须不同(参数类型.个数或顺序至少有一样不同)④返回类型无要求⑤修饰符无要求 三.重写与重载对比★   说明 发生范围 方法名 参数列表 返回类型 修…
一.说明 final属于一种修饰符,可以用于修饰类和属性.方法.局部变量 二.特点 1.修饰类 该类不能被继承,如String.Integer等 2.修饰方法 该方法不能被重写 3.修饰变量(属性和局部变量) 该变量的值不能被修改,也就是变成了常量 (1)特点 如果是引用类型的常量,则地址不能更改,但属性可以更改 如果是基本类型的常量,则值不能更改 (2)常量属性的注意事项 ①常量属性必须在最开始初始化 普通常量属性:声明时或普通初始化块或构造器时初始化 静态常量属性:声明时或静态初始化块 ②常…
一.说明 static属于一种修饰符,可以用于修饰 属性.方法.初始化块.内部类用static修饰的成员,称为静态成员不用static修饰的成员,称为普通成员 二.静态属性的特点 1.生命周期 静态属性随着类的加载而加载,随着类的消亡而消亡.生命周期较长普通属性随着对象的创建而加载,随着对象的消亡而消亡.生命周期较短 2.加载次数 静态属性只加载一次!在内存中只有一份!普通属性可以加载多次!在内存中可以有多份! 3.存储位置 静态属性存储在方法区普通属性存储在堆 4.[应用] 静态属性被所有对象…
一.属性 1.语法 数据类型 属性名 [= 属性值]; 2.特点 ①属性的数据类型可以为任意类型,包含基本类型或引用类型②属性可以不用手动赋值,有默认值 int——0 double——0.0 char——\u0000 boolean——false 引用类型——null③属性伴随着对象存放在堆中,不同对象的属性相互独立,互不影响④变量根据作用域不同,分为以下两类 全局变量:又称为属性,定义在类体中,作用域为整个类体以及其他类 局部变量:定义在方法或某个代码块内,作用域为所在的方法或代码块 3.局部…
前言:Java内功心法之Java 修饰符,看完这篇你向Java大神的路上又迈出了一步(有什么问题或者需要资料可以联系我的扣扣:734999078) Java语言提供了很多修饰符,主要分为以下两类: 访问修饰符 非访问修饰符 修饰符用来定义类.方法或者变量,通常放在语句的最前端.我们通过下面的例子来说明: public class className { // ... } private boolean myFlag; static final double weeks = 9.5; protec…
C#访问修饰符,无时无刻都在使用,这里记录一下,如果写错的地方,欢迎指正. public :公有的,任何代码均可以访问,应用于所有类或成员: internal:内部的,只能在当前程序集中使用,应用于所有类或成员: protected internal:受保护的内部成员,当前程序集或派生自包含类的类型中使用,应用于内嵌类或成员: protected:受保护的,只能在当前类或其派生类中使用,应用于内嵌类或成员: private protected:私有受保护的成员,包含类或当前程序集中派生自包含类的…
C# 中有5个权限修饰符,用于控制对对象的访问权限. 1. public:   访问不受限制. namespace, enum成员,interface成员 隐式的具有public 修饰符,不能在显式添加其他的修饰符. 2.  private:  访问权限限制在同一个class 或 struct内. class 或 struct 中的成员如果不加修饰符,则默认的是private. 3.  protected: 访问权限限制在当前class 或 继承的class. 4.  internal: 访问权…
1. 修饰符 public.protected.private.default abstract.static.final. abstract:抽象类.抽象方法 static:静态变量.静态方法.静态代码块 final修饰类.方法.变量 transient.violatile.native.synchronized 2. 变量 实例变量.局部变量.类变量 1. 修饰符 · public.protected. private.default 类的访问权限   当前类 同包其它类 子孙类 其它包的类…
状态修饰符: final(最终态),static(静态) final关键字: 修饰类: 修饰局部变量: static关键字: 修饰变量:   修饰函数:…
一. 概述 多态是继封装.继承之后,面向对象的第三大特性,指同一行为,具有多个不同表现形式.生活中,比如跑的动作,小猫.小狗和大象,跑起来是不一样的.再比如飞的动作,昆虫.鸟类和飞机,飞起来也是不一样的.可见,同一行为, 通过不同的事物,可以体现出来的不同的形态.多态,描述的就是这样的状态. 多态体现的格式:父类类型 变量名 = new 子类对象:变量名.方法名();     代码如下: Fu f = new Zi(); f.method(); 1.1  多态调用成员方法 当使用多态方式调用方法…
可变参数 不知道可能给方法传递多少个参数时使用这个方法 public void printInfo (String[] args) --可以定义一个数组,在调用这个方法适合赋值给一个数组 public void aaa (String... args) --用java特有的...来传递可变个数的参数,在使用时,与数组的使用方式相同 如果使用数组,在调用方法是要用 a.printInfo(null):没有参数就要定义一个空数组或者null,而第二种是可以直接使用a.aaa(); 如果一个方法有多个…
参数传参的时候一共有四种传递方式: 一.无修饰符传参 也就是说没有传参修饰符,这种情况传过去的是一个副本,本体是不会被改变的 二.out传参修饰符 在传参的参数全面加一个out: public void man() { string a=""; prejiet(out a); } public void man1(out string a) { a=""; Console.WriteLine(a); } //这样做就让man()方法里面的a也变成了10 就介绍两个常…
一.JAVA的背景 JAVA本身隶属的公司的是sun公司(创始公司) JAVA创始人:詹姆斯 高斯林 09年被oracle收购 JAVA的前身是Oak 二.JAVA的版本 95年 JAVA诞生96年 jdk1.098年 jdk1.2 集合等(J2SE.J2EE.J2ME)04年 jdk1.5 增强for.枚举.注解等,将jdk的发布版改名为jdk5.006年 jdk1.6 稳固jdk1.5,(JavaSE.JavaME.JavaEE)11年 jdk1.7 switch结构值变量类型支持strin…
高手勿喷~ final关键字可用于修饰类.变量和方法,它有"这是无法改变的"或者"最终"的含义,因此被final修饰的类.变量和方法将具有以下特征: 1.final修饰的类不能被继承.实例1 2.final修饰的方法不能被子类重写.实例2 3.fianl修饰的变量(成员变量和局部变量)是常量,只能被赋值一次.实例3 4.fianl修饰成员变量的时候,一定要在定义变量的同时赋予一个初始化值.实例4 实例1 final class A{//使用final关键字修饰A类…
一.包装类 1.理解 java为八大基本数据类型一一对应提供了引用类型,方便使用里面的属性和方法 2.包装类型 byte——>Byteshort——>Shortint——>Integerlong——>Longfloat——>Floatdouble——>Doublechar——>Characterboolean——>Boolean 3.常用方法 (1)Integer/Byte/Short/Long/Float/Double/Boolean 以Integer为例…
一.顺序结构 1.说明 程序从上往下依次执行,中间没有任何跳转或选择2.特点 变量必须遵循 “前向引用” (局部变量必须先声明.赋值,然后再使用!) 二.分支结构(条件) 1.说明 程序从两条或多条路径中,选择一条去执行 2.分类   语法 执行顺序 注意事项   if结构  1.单分支 if(条件){ 代码块1; } 先判断条件是否成立, 如果成立,则执行代码块1.否则跳过if结构,往下执行 ①条件 的结果只能是boolean类型,形式可以为: 关系表达式 逻辑表达式 oolean变量 boo…
一.变量 1.理解 概念:内存中的一块数据存储空间 2.变量的三要素 数据类型变量名变量值 3.变量的语法和使用步骤★ 步骤1:声明变量(计算机开辟一块空间) 数据类型 变量名;步骤2:为变量赋值(初始化) 变量名 = 值;步骤3:使用变量(打印.运算.比较等) System.out.println(变量名); 注意: ①前两步可以合二为一:数据类型 变量名 = 值; ②可以同时声明多个变量,但要求变量的类型一致 语法:数据类型 变量名,变量名,变量名; 示例:int a=1,b,c=1; 4.…