java 核心基础


1.java的基本术语

        JDK java开发工具包,sun官方提供的java下载安装包。分操作系统和版本。
        JRE java运行环境,下载安装JDK即可得到
        JRE。需要配置环境变量。
        JVM java虚拟机,是java的核心功能的提供者。java程序必须运行在JVM中。
        GC 内存垃圾的回收机制,由JVM提供。
        IDE 集成开发环境,是大规模的商业开发工具,主流包括:eclipse/jbuilder/netbeans
        API 应用程序接口,在java中特指sun官方类库的说明文档。

2.环境变量的意义和配置

        Path可以提供任意目录下都可以运行的命令
        windows会自动去Path中找,用;隔开多个目录
        CLASSPATH 配置java类库的路径.; 即可
        jvm只会从CLASSPATH查找类文件.
        JAVA_HOME 配置java安装目录
        目前,只需要配置Path和CLASSPATH即可

        所有的class文件存在rt.jar中

3.编写规则

        分目录以后,有些类在使用前,需要import语句导入。除了本包中的类和sun官方提供
        java.lang包中的类,其他类必须import
        java.lang包中的类,虚拟机自动完成加载

java是强类型语言
       变量必须声明类型以后,才能使用
       java数据类型:
       基本类型(值):boolean / char / byte / short /  int / long / float / double 
       引用类型(地址(引用)-->内存区域(对象))
       类 接口 数组 枚举 标注

       类型 变量名 [ = 值]; []中可有可无

         int a = 5; a可变,变量 5不可变,常数
         变量第一次出现必须带类型,以后不能带类型,带类型的叫变量声明。第一次赋值叫变量的初始化。
          int a = 5;
         a = 6;

java的运算符

优先级:算数运算符  >   比较运算符  >    布尔运算符   >  等号运算符 

小括号决定运算符的优先级

尽量用&& , || 不要单独用& ,| 虽然它们的结果是一样的。

a ++ 相当于 用了a的值,再进行 a = a+1 或者a +=1

b  - - 相当于用了b的值,再进行b = b-1 或者b -=1

++ a 相当于先a = a+1 或者a +=1,再用a的值

-- b  相当于先b = b-1 或者b -=1,再用b的值。

 

 

java注释有三种:
// 单行注释,从//开始到本行结束都是注释
多行注释:/*开始   */结束,中间都是注释
/** 开始 */结束 
/**开始的注释,可以被javadoc命令提取成
单独的文档,API就是这样生成的。

类加载的代码:
 1 类名.时候 
 2 创建该类对象时 new 构造
 3 声明变量时,不真正加载类
   类型 变量名
 
静态语句块在类加载时执行,非静态语句块在构造对象时执行(在执行构造的代码前执行)

final关键字 代表不能改变
final 可以修饰 变量(属性+局部变量)/方法/类
final类不能被继承
final方法不能被重写
final变量必须只能赋值一次

abstract 代表无需实现或者无法实现,可以修饰类/方法,即抽象类/抽象方法。

抽象类有构造,无法调用构造(new 抽象类构造错!)
抽象方法没有方法体。
public abstract 返回类型 方法名(参数列表) [throws XXException];

抽象类的引用指向的是非抽象子类对象(多态)
抽象方法的调用其实是在调用子类重写以后的非抽象方法。
为了保证非抽象子类重写抽象方法:
抽象类可以不包括抽象方法,
但是含有抽象方法的类必须是抽象类

比如写一个类,黄金
黄金是一种金属
黄金是一种货币

如何实现呢?接口用于解决此类问题
一个类只能直接继承另外一个类,但是可以实现多个无关接口(implements)
1 接口使用interface关键字
  public interface 接口名{}
2 接口支持了多重继承
3 接口与接口的继承是多继承,但使用extends关键字
4 接口可以看成一种特殊的抽象类
5 接口没有构造,接口中所有的属性都是public static final的常量
6 接口中所有方法都是public abstract的
7 强制类型转换成接口时,不检测继承关系,但如果类型不匹配,引发类型转换异常。
在设计中,会大量的采用接口,面向接口编程

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值