java基础知识:
变量:内存中的一块存储区,用来存储数据的
标识符:用来对变量、方法、数组、类等命名的字符序列
Java标识符规定:由数字、字母、下划线、$、¥组成;不能数字开头;大小写敏感;不全是关键字;
关键字:有特殊用途的单词,如:break、case、char、for、if、void、int、long等
八大基本数据类型:byte、short、int、long、char、double、float、boolean
四大引用类型:String字符串、数组、类、接口
运算符与表达式:
①算术运算符:如 +、-、*、/、%
②赋值运算符:如 =;复合赋值运算符:如:+=、-=、*=、/=、%=
③自增运算符:如 ++;自减运算符:如 --;
④关系运算符:如 <、<=、>、>=、==、!=
⑤逻辑运算符:如 &(与)、&&(短路与)、|(或)、||(短路或)、!(非);短路运算
⑥三元运算符:如:a>b?a:b
⑦位运算符:如:&(位与)、|(位或)、^(异或)、~(取反)、<<(左移位)、>>(右移位)
二进制:如二进制 011 十进制表示为2*2^1+2*2^0=3
选 择 语 句:if、if...else、if...else if...else、switch
switch小括号中表达式的运算结果支持byte、short、char、int类型;从Java1.5开始支持枚举类型(enum);从
Java7开始支持String类型
循 环 语 句:for、while、do...while
do...while:至少执行一次
跳 转 语 句:break、continue、return
break:结束整个循环;continue:终止当前循环并进入下一次循环;return:结束整个方法
方法:方法定义、方法调用、实参与形参、返回值、方法重载
在Java中,方法既可以有参数,也可以没有参数,唯一不同就是方法名后面多个参数列表,表示调用该方法时需要传
入数据。
如果要调用的方法没有参数,则不用传递参数列表;如果有参数,就要按照顺序和类型传递参数,参数之间用逗号
分隔。
形参是定义方法时候用的;实参是调用方法时候实际传递的数据。
定义在方法内部的变量被称为局部变量,局部变量只能在当前方法中访问,不能跨方法访问
方法返回值类型指的是方法返回数据的类型
方法重载:在同一个类中,允许存在一个以上的同名方法,只要其参数个数或者参数类型不同即可;返回值是否一样
无关、参数名是否一样无关
数组:定义并初始化:类型[] 数组名=new 类型[长度];下标从0开始;数组长度:数组名.length;使用for循环遍
历;方法的可变参数本质上就是一个数组;
java面向对象:
类与对象:类是抽象的,对象是类的实例;根据类创建对象的过程叫实例化;
不同类的描述和行为可能不同;同一类的不同对象的描述信息也可能不同;
类是一组对象抽象出来的模板;
类的定义:类名.java,类名大写开头;
类名.java里可以有多个class,但有且只有一个public修饰的class,而且此类名与.java的类名一致
类的实例化:new 类型()
给对象发消息:理论上叫发消息,实际中大家都说调用XXX方法
null:当一个变量指向null的时候表示变量不指向任何对象
this:在类内部this表示当前对象
封装:隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读取和修改的访问级别
一般情况下,都把成员变量声明为private,不希望外部访问的方法也是private,希望别人调用的方法声明为public
构造方法是创建对象,并且在创建时对对象进行初始化的特殊方法
构造方法格式及特点:
* 方法名必须和类名一致
* 没有返回值类型
JavaBean规范:
* 必须是一个公共类,并将其访问属性设置为public
* 必须有一个无参的构造方法
* 所有成员变量都要是private
* JavaBean属性是具有getter/setter方法的成员变量。也可以只提供getter方法,这样的属性叫只读属性;
也可以只提供setter方法,这样的属性叫只写属性;如果getter/setter都有,就叫可读可写属性。如果属性
类型为boolean类型,那么读方法的格式可以是get或is
包package:用文件系统的文件夹解释避免文件名重复的问题。同一个包下的类不能重名,不同包下的类可以重名
包语法:通过package定义在页面最顶部;
在磁盘上的保存路径和package一致,可以单级、可以多级
包两个作用:
1)不同用途类放到不同的包下面,避免一堆类都放到一个包下面,不便于分类管理
2)如果有重名的类,放到不同的包下
继承:Java中一个类可以继承其他类,子类会从父类继承所有非private成员。子类还可以有子类。
Java中一个类只能有一个父类(单继承),如果没有指定父类,则Java内置的Object类为父类,因此所有类都直接
或者间接继承自Object
多态:
1. 父类类型的变量可以执行子类类型的对象
2. 能够调用什么方法取决于变量的类型
3. 具体调用哪个实现方法取决于对象的类型
子类中可以定义和父类中完全一样(名字、参数、返回值)的方法,叫重写或覆盖(Override)
final关键字可以修饰变量、方法、类
* 修饰变量表示这个变量只能被赋值一次
* 修饰方法表示方法不能被子类覆盖(override)
* 修饰类表示类不能有子类
抽象类的特点:
* 抽象方法没有方法体,连空方法体都不能写;一旦类中定义了抽象方法,类必须被修饰为抽象类
* 抽象类无法实例化(new)
* 抽象类可以没有抽象方法
* 抽象类的子类必须实现父类的所有抽象方法,除非子类也是抽象类
接口和类:
* 接口的意义是定义做什么,类定义怎么做
* 接口中只能声明static成员变量,不能声明普通成员变量
* 接口中可以定义多个方法,也可以不定义任何方法
* 类只能有一个父类,类可以实现多个接口
* 接口可以继承多个接口
* 接口也有多态、类型转换
接口和抽象类的相同点:
* 都可以定义抽象方法
* 都不能实例化
接口和抽象类的不同点:
* 抽象类中可以定义方法的实现,接口中一定不可以定义方法的实现
* 抽象类是单继承,接口是多继承
* 接口中只可以定义常量,抽象类中可以定义成员变量
* 接口用interface来表示,抽象类用abstract来表示
equals和==
==运算是用于比较两个是否是同一个对象。如果要比较内容是否相等,要调用equals方法
hashCode要求:两个对象如果equals相等,hashCode则必须相等;hashCode相等,equals则不一定相等
static成员直接可以通过类名调用,非static成员要通过对象调用
static成员中只能访问static成员,不能直接访问非static成员
非static成员可以访问static成员
static变量是全局共享的
用static和final结合当成常量使用,特点:不可改变、全局共享
静态代码块:初始化只执行一次
java基础知识及java面向对象
最新推荐文章于 2022-08-06 17:53:15 发布