Java中名词的解释

在上一篇中说到了Java的四大特性,里面出现了很多名次,包括以后学习Java中也会出现很多常用到的名次,对初学者来说可能不知道是什么意思,或者是对这些刺耳的理解不是特别透彻,这里我就我自己的理解来解释下这些词的意思。

在Java中常说某个包下面的某个类。那么什么是包呢?在平时操作电脑时,我们常江某个文档,视频,音频等问价放在某个文件夹下,而这个文件夹在Java中就就叫做包。其实饱和文件夹在某种意义上来说是等同的,只是在Java中将其叫做包而不叫做文件夹。

放在包下面的一个个并且是以.java结尾的文件就是类。前面有说道对想是Java程序的核心,而类描述了对象的属性和对象的行为,类是对象模板【类是对对象的抽象,对象是对类的实例化】

类按类型分为普通类,抽象类,接口,嵌套类等。按层级分又分为父类和子类

普通类

【访问修饰符】 class 类名 【implements/extends  类名】{  },其中有一种特殊的类object类,object类是所有类的父类,如果一个类没有用extends明确指出继承于某个类,那么它默认继承Object类。

抽象类

当一个类中没有足够的信息描述一个具体的书屋时,这个类就是抽象类。

语法:【访问修饰符】 abstract class 类名{   }

特点:

1、抽象类不能实例化

2、抽象类可以拥有构造方法

3、抽象类可以声明实例变量,也可以声明静态变量,也可以存在普通方法和静态方法,变量在抽象类中可以初始化

4、抽象类中还可以有抽象方法  语法:【访问修饰符】 abstract 返回值类型  方法名  (【参数】);

5、抽象类抽象方法,有抽象类的子类来实现

6、如果一个类是抽象类,那么这个类的不一定有抽象方法,但如果一个类有抽象方法,那么这个类一定是抽象类

7、如果抽象类的子类没有吧抽象类中的所有抽象方法实现,则子类也需要定义成抽象类,有子类的子类负责实现剩余的抽象方法。

8、普通方法在子类中与普通类一样,可以实现也可以不实现

接口

就是对外提供了一系列功能的生命(也可以说接口中定义的方法只有方法的生命,没有方法体)

语法:【访问修饰符】 interface 接口名  {

    //常量和方法的声明

}

1publicinterface  demo{2inti=0;3publicvoid  add() ;        4}

特点:

1、接口中声明的方法没有方法体,只有方法的声明

2、接口中声明的成员属性都是静态的而且都是不可变的,因为接口中的成员属性默认都是public  static  final 来修饰的

3、接口没有构造方法,也不能被实例化

4、接口可以实现多继承,接口之间用逗号隔开

5、接口中的方法只能被public来修饰,就算没有明确的神明访问修饰符,默认也是public

通过implements来实现接口,语法:

【访问修饰符】 class  类名  implements  接口1,接口2{   }

嵌套类

声明在类的内部的类称之为嵌套类

语法:【访问修饰符】 class 类名{

      【访问修饰符】【static】 class  类名{

      }

  }

分类:内部类:非静态嵌套类

   静态嵌套类:用static修饰的嵌套类

内部类:内部类作为外部类的一个成员存在,与外部类的成员变量,成员方法并列

局部内部类:在方法体内声明的类,可以访问他所在方法中的final参数和final局部变量

静态嵌套类中可声明static成员或非静态成员变量,但只能访问外部类中的静态成员

方法

方法就是实现某个功能的代码块

方法的定义语法:

1、无返回值无参数的方法  【访问修饰符】 void  方法名(){ //方法的功能代码 }

说明:void就是表示该方法是无返回值得(也就是说调用完该方法不会返回一个结果)

2、无返回值有参数的方法    【访问修饰符】  void  方法名(数据类型   参数名,...){//方法的功能代码}

说明:方法中的参数又称为形参(形式意义的参数),调用该方法时传递的数据称为实参(实际的数据),传递的参数要和方法中的参数类型匹配

3、有返回值无参数的方法   【访问修饰符】  返回值类型   方法名称(){   return   返回值;  }

说明:1、返回值类型有放回值来决定

            2、在由返回值得方法的最后一句代码,一定是  return  返回值;。

4、有返回值有参数的方法    【访问修饰符】  返回值类型  方法名(参数列表){  return   返回值}

变量

定义:在Java中用来存储数据的元素,而且该元素所存放的数据时可以变化的,所以称为变量

注意:变量也是标识符的一部分

语法:1、变身名变赋值   数据类型   变量名称=变量值

       2、先声明后赋值  数据类型  变量名称;变量名称=变量值;

定义变量的四个步骤:

1、声明数据类型其实就是为了根据数据类型开辟相应的内存空间

2、给变量命名,其实就会说为了能够把变量名和数据类型所对应的内存空间进行关联

3、给变量赋值,其实就是把数据存放到变量名所对应的内存空间

4、使用变量,其实就是把变量所对应的内存空间中的数据读取出来

常量

定义:在程序中他的值是不可变的,这样的冤死及时常量

语法:final  数据类型  常量名称=常量值;

建议:常量名称一般全部大写

标识符

标识符就是类名,方法名,参数名,包名等元素命名时,所写的字符序列就统称为标识符

标识符的命名规则:

1、有字幕,数字,下划线,和$组成

2、不能以数字开头

3、严格区分大小写

4、长度无限制

5、不能是Java的关键字和保留关键字

建议:见名知意

访问修饰符

在定义类、属性、方法时都需要指定访问修饰符,以此来限定类、属性、方法的可访问范围。Java中的访问修饰符有以下几个关键字:

public:公共。该类或非该类均可访问

private:私有的。只有在类的主体中才可以访问。只能修饰属性和方法,不能修饰类

protected:受保护。该类及子类的成员均可以访问,同一个包中的类也可以访问。只能修饰属性和方法,不能修饰类

默认:不使用修饰符。只有相同包中的类才可以访问

位置private默认protectedpublic

同一个类是是是是

同一个包内的类否是是是

不同保内的类否否是是

不同包内不同类否否否  是

关键字

在Java中被赋予了一定特殊意义和用途的单词

保留关键字也是关键字,只是目前没有任何的特殊意义和用途,保留使用。

this关键字

使用范围:this关键字只能使用在没有被static关键字修饰的方法中

作用:this关键字就会说对当类某个对象的引用(简单来说就是可以把this看做当前类的一个对象,哪个对象调用当前的方法,this关键字就指向该对象)

【当局部变量和成员变量完全一致时,以局部变量为主,即就近原则】

用法:

1、当方法中的参数名或变量名和成员变量完全一致时,可以通过this关键字来区分作用域

2、当this关键字以this(参数列表)的形式,出现在构造方法的第一句时,就表示当前构造方法调用了该类中其他的构造方法。

final关键字

1、final修饰的变量等同于常量,一旦赋值就无法更改(是指引用变量不能变,引用变量所指向的对象的内容还是可以改变的)

【final无论修饰全局变量还是局部变量,在定义时都必修要初始化才能使用】

2、final修饰方法中的参数称为最终参数,在方法体中同样也不能为最终参数重新赋值

3、final修饰类,该类不能被继承

4、final修饰的方法,不能被重写

staitic关键字

static可以修饰变量,方法,代码块

static修饰变量,也称为类变量,因为static关键字修饰的变量,方法,代码块都属于类,而不属于某个对象

【实例变量:没有被static修饰的成员属性或方法都属于某个对象,也叫做实例属性或实例方法,对象存在了,才会有实例变量开辟空间】

static修饰的属相、方法可以通过:类名.属性名或l类名.方法(参数)的形式来调用

特点:

1、静态方法中只能访问静态方法和静态的成员变量

2、在非静态方法中,既可以访问非静态的方法、属性,也可以访问静态属性和静态方法

3、在静态方法中不能使用this和supper关键字,因为this和supper表示对对象的引用,而static修饰的方法是属于类,所以在语法上存在一定的冲突

静态代码块:静态代码块只能出现在类的内部,任何方法的外部

静态代码块语法:static{   }

静态代码块作用:就是给静态的成员属性进行初始化

静态代码块的优先级比构造方法的优先级高

方法中参数的传递

在Java中无论是基本数据类型还是引用数据类型,在进行参数的传递时,都是采用的值传递(也就是传递的都是具体的数据)

基本数据类型在进行参数传递时,传递的值是副本,也就是说当把当前数据复制一份,然后再进行穿丝,所以目标方法中,对参数进行修改,这个值得本身是没有任何变化的

引用数据类型字进行参数的传递时,传递的是数据所在的内存地址,所以在目标方法中,对参数进行修改,这个值本身也会发生相应的变化

向上转型和向下转型

向上转型:把一个子类的对象,赋值给父类,就会把该对象当做父类对象来用

动态(延迟)绑定机制:在程序运行期间,会根据对象的真正的创建者来决定调用那个方法

发生动态绑定机制的条件:1、继承  2、重写   3、向上转型  4、用向上转型的对象调用被子类重写的方法

向下转型:把一个父类对象,复制给某个子类,需要加上强制转换符

向下转型一定是在向上转型的基础上类型的还原

向下转型调用子类中的没有重写的方法

可以通过instanceof关键字来判断某个独享是否属于某各类                                                                                               欢迎工作一到五年的Java工程师朋友们加入Java群: 741514154

群内提供免费的Java架构学习资料(里面有高可用、高并发、高性能及分布式、Jvm性能调优、Spring源码,MyBatis,Netty,Redis,Kafka,Mysql,Zookeeper,Tomcat,Docker,Dubbo,Nginx等多个知识点的架构资料)合理利用自己每一分每一秒的时间来学习提升自己,不要再用"没有时间“来掩饰自己思想上的懒惰!趁年轻,使劲拼,给未来的自己一个交代!

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,948评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,371评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,490评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,521评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,627评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,842评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,997评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,741评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,203评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,534评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,673评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,339评论 4 330
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,955评论 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,770评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,000评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,394评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,562评论 2 349

推荐阅读更多精彩内容

  • 一:java概述: 1,JDK:Java Development Kit,java的开发和运行环境,java的开发...
    慕容小伟阅读 1,777评论 0 10
  • 整理来自互联网 1,JDK:Java Development Kit,java的开发和运行环境,java的开发工具...
    Ncompass阅读 1,537评论 0 6
  • 一:java概述:1,JDK:Java Development Kit,java的开发和运行环境,java的开发工...
    ZaneInTheSun阅读 2,635评论 0 11
  • 1 面向对象No6 面向对象 OO Object Oriented 编程时以对象为单元,封装数据和逻辑,以此提...
    征程_Journey阅读 1,132评论 0 2
  • 队长说他明天就要走了 语气很沉,速度很慢 明显能感觉到他吞咽的有些迟缓 似乎没有说完的话还在发酵 这场面真的就是离...
    cd5f783d3f6e阅读 193评论 0 1