打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
java基础知识

什么是java

Java是美国sun公司,在1995年推出的高级编程语言。所谓的编程语言,是计算机语言,使用编程语言对计算机下达命令,完成人们所需要的功能。

1、 字节和DOS命令

  字节:是计算机中最小的存储单位。   

  1byte = 8 bit  (1字节 = 8 位)

2、 java开发环境

  JVM(java Vritual Machine):java虚拟机。

  是虚拟的用于执行bytecode字节码的,虚拟计算机。

  JRE(java Runtime Environment):java程序运行环境。

  包含 JVM、运行程序必要的文件。

  JDK(java Development Kit): 程序开发工具包。

  包含JRE、编译器、调试器等开发的工具。

   

  运行程序,只需要安装JRE就可以。

  开发程序,一定要安装JDK.

3、 标识符

  指程序中我们自己定义的内容。如:类名,变量名等。

  命名规则:

  可以包含a-z(大小写)、0-9、$、_(下划线)

       不能使用数字开头

       不能使用关键字。

  有大驼峰式 (ByuhGin)和小驼峰式(byuhGin)

4、 常量

  就是在程序运行的过程中,不会改变的量。

5、 数据类型

  基本数据类型:         (由小到大)

       整形数据      byte、short、int、long

       浮点型         float、double

       字符型         char

       布尔型         Boolean

  引用数据类型:

       字符串、数组、类、接口、Lambda

6、数据转换

  自动转换: 由小赋值给大的

  强制转换:  int  sum = (int) 100L

  byte、short、char可以进行数学运算,都会先提升为int类型,再运算。

  Boolean类型不能进行数据类型的转换。

7、ASCLL码表

  0 -----》 48, A ------》 65, a------》97

8、运算符

     简单运算符: 、-、*、 /、 %、

     赋值运算符: =、-=、*=、/=、%=

     比较运算符:> 、<、 >=、 <=、 ==、 !=

     逻辑运算符:&&、||、 !

     三元运算符:

  数据类型  名称 = 判断条件 ? 表达式A : 表达式 B;

  (保证:

  1、      表达式A、B都需要满足前面的数据类型。

  2、      三元运算符的结果必须被使用。)

9、判断语句

  注意的是,break和continue。

  break是跳出当前内容。

  continue是跳出当前条。继续执行。

方法的重载

  方法是不能嵌套使用的。

  重载(ovreload):就是多个方法的名称一样,但是参数列表不一样。

          (参数个数、参数类型、参数类型的顺序)不一样。

数组的几种创建方法

  动态初始化数组:

  数据类型[ ] 数组名称 = new 数据类型[ 数组长度  ] ;

  静态初始化数组:

  数据类型[ ] 数组名称 = new 数据类型[ ] { 元素1,元素2 } ;

  省略式:

  数据类型[ ] 数组名称 = { 元素1,元素2  };

  索引值从0开始,到 数组长度-1 为止。

集合

ArrayList

  ArrayList<E> 名称 = new ArrayList<E>();

  注意:ArrayLiist的长度是可以随意变化的,

           泛型E,需要装的是全部统一的泛型类型。

           泛型只能是引用类型,不能是基本类型。

Map

 

Java内存

Java中的内存分布

  1、栈(Stack):存放的都是方法的局部变量。方法的运行一定在栈中运行。

       局部变量:方法的参数,是方法{ } 中的局部变量

       作用域:一旦超出作用域,立刻从栈内存中消失。

  2、堆(Heap):new出来的东西,都在堆里面。(.class相关的信息)

    堆里面的东西都有一个地址值:16进制

  3、方法区(Method Area):存储.class的相关信息,包含方法的信息。

  4、本地方法栈(Native Method Stack) 与操作系统相关

  5、寄存器(pc Register) 与cpu相关

异常

空指针异常:

  所有的引用类型都可以赋值一个null值,

  数组必须要new初始化才能使用其中的元素。

  如果在没有new的情况下,给数组赋值了一个null。那么就会出现空指针异常。

  空指针异常:NullPointerException

数组索引越界异常

  如果在访问数组的时候,访问的索引已经超出了数组的索引值,

  就会出现数组索引越界异常:ArrayListIndexOutOfBoundsException

成员变量和局部变量区别

局部变量:

      在方法的内部;

     只有方法可以使用,外面不能使用

     没有默认值,如果要使用,侧需要手动赋值。

     位于栈内存中。

     随着进栈产生,出栈消失。

成员变量

      在方法的外面

     整个类都可以使用

     如果没有赋值,会有默认值

     位于堆内存中

     随着创建对象产生,对象被垃圾回收而消失。

Static的讲解

Static的使用

  使用static修饰成员方法,就成为了静态方法。静态方法不属于对象。而是属于类。

  无论是成员变量、还是成员方法,使用了static修饰,都建议使用   类名称点进行调用。

  注意:    静态不能直接访问非静态

                静态方法中,不能使用this。

静态代码块

  Static{  静态内容 }

  静态代码块,执行唯一的一次。

  静态内容总优先于非静态内容。所以,静态代码块比构造方法先执行。

Java的三大特征

封装

  就是将一些细节信息隐藏起来,不对外界开放。

  方法就是一种封装。

  关键字Private 也是一种封装

继承

  使用extends 、implements 对父类进行继承。

  父类 (基类)、子类 (派生类)

继承中的重写

  就是和父类的方法名一样,参数列表也是一样。

  @Override 验证是不是有效的正确覆盖重写。

  就算不写,只要满足要求,也是正确的方法覆盖重写了。

继承中的构造方法的访问特点

  子类必须调用父类构造方法,不写侧赠送一个super();

  写了则用写的指定的super调用,super只能有一个,还必须是第一个

Super的三个用法

  在子类的成员方法中,访问父类的成员变量。

  在子类的成员方法中,访问父类的成员方法。

  在子类的构造方法中,访问父类的构造方法。

  Super和this两种构造调用,不能同时使用。

多态

  就是父类引用指向子类对象。

  格式:父类名称  对象名 = new 子类名称();   或者

           接口类名称 对象名 = new 实现类名称();

  多态中的方法的访问,看new的是谁。就优先用谁,没有就向上找。

  访问:

       成员变量:编译看左,运行还是看左。

       成员方法:编译看左,运行看右。

向上向下转型

  向上转型:一定安全的,从小范围转向大范围。

  向下转型: 范围小的转型范围大的。注意:在转型的时候,必须要规定,

      小范围的对象本来就是属于大范围的对象才行。

抽象

概念

  还不能确定具体是做什么的方法。

  规则:使用abstract关键字,不需要方法体。

  如: public  abstract void  eat(); 这就是一个抽象的方法。

  注意:抽象方法所在的类,一定需要是抽象类才行。

  调用抽象类,不能直接调用。

  需要创建实现类,重写抽象类里面的所有的抽象方法,并且需要打开方法体{  } 进行方法的设置。

  除非子类也是抽象类,就不用所有的抽象方法都重写。

特殊方法

this

  当局部变量和成员变量同名的时候,使用“就进原则”。

  先使用的是局部变量。访问成员变量就使用this.成员变量。

构造方法

  专门是用来创建对象用的。当我们new创建对象的时候,其实是在调用构造方法。

  注意:

    1、如果,没有编写构造函数,编译器会自动赠送一个构造方法

    2、不能返回一个具体的值。

    3、构造方法也是可以重载的。

final的使用

  代表最终、不可改变(内容还是可以变的)

  对于类和方法来说,abstract和final不能同时使用,

final四种用法:

  1、     修饰类

    规定:当前类不能有任何的子类。(太监类)

    类中的所有成员方法不能进行覆盖重写。

  2、     修饰方法

    规定:这个方法是最终的方法。也是不能被覆盖重写。

  3、修饰局部变量

    规定: 一次赋值,终生不变。

    对于基本类型,不变的是数据不变

    对于引用类型,不变的是地址值不变。

  4、修饰成员变量

    因为成员变量有默认值,所以,final之后必须手动赋值,

    要么,直接赋值,要么通过构造方法赋值。

    必须保证类中所有的重载的构造方法,都最终会对final的成员变量进行赋值

Java的四种权限

   

内部类

  就是事物的内部包含另外一种事物。

  成员内部类、局部内部类(包含匿名内部类)

  就是在类中嵌套一个类

  注意:内用外,随意访问,外用内,需要创建内部对象,

  调用格式:

  外部类.内部类 对象名 = new 外部类().内部类();

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
我把Java基础编程及思维导图整理的超级详细,小白都能看懂
Java基础
Java面向对象详解
【Java】基础20:比较难懂的内部类
Java 虚拟机体系结构
Java内存分配、管理小结
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服