认识Java002
——关键字:被Java赋予特殊含义的单词,关键字中所有字母都小写,如class true 标识符:程序中自定义的一些名称,包括字母,数字,下划线,$,数字不能开头 标识符命名规则:包名:所有母小写 类名接口名:所有单词首字母大写 变量名和函数名:第一个单词首字母小写,其余单词首字母大写, 注释:单行注释,多行注释,文档注释/** */
——面向对象 三个特征:封装,继承,多态 开发:找对象使用,创建对象,用对象,维护对象间的关系
——类和对象:类是现实世界的抽象,对象就是现实生活中的实体
——成员变量和局部变量:成员变量是定义在类中的变量,局部变量定义在函数或者语句中的变量;成员变量在堆内存中,因为对象的存在,才在内存中存在,局部变量存在于栈内存中
——封装:是指隐藏对象的属性和实现细节,仅对外提供公共的访问方式
——构造函数:类名(){}不需要定义返回值类型 作用:给对象初始化 构造函数可以通过改变参数类型和个数实现重载
——this关键字:用于区分局部变量和成员变量同名的情况 this代表它所在函数所属对象的引用 this.name=(参数)name
——static关键字:静态修饰符,用于修饰成员(成员变量,成员函数),成员被静态修饰后,就多了一个调用方式,除了可以被对象调用外,还可以直接被类名调用 类名.静态成员(如:person.county国籍) static特点:随类加载而加载,优先于对象而存在,被所有对象共享,可以直接被类名调用 静态成员存储在方法区(共享区,数据区)
——main函数:是一个特殊的函数,作为程序的入口,可以被JVM调用 public static void main(String[] args) public:代表最大访问权限 static:代表主函数随着类的加载而加载 void:代表主函数没有返回值(不需要返回给虚拟机值) main:不是关键字,是特殊单词,可以被虚拟机识别 String[] args:函数参数,字符串类型的数组 ——继承 关键字:extends 如(class Student extends person{}) Java语言只支持单继承,不支持多继承(即不能同时继承多个类class A extends B,C(B,C中如果有相同功能,不确定运行哪一个),但支持多层继承) ——super:子类要访问父类中的同名变量时,用super,super的使用和this的使用几乎一致 this代表本类对象的引用,super代表父类对象的引用 System.out.println(super.num); ——重写:当子类和父类有一模一样的函数时,会运行子类函数的内容,实现重写(覆盖)保留父类功能定义,重写功能内容 注意:子类覆盖父类,必须子类权限大于等于父类权限;静态只能覆盖静态 子父类构造函数不能覆盖,因为类名不同,构造函数名不同 ——重载和重写:重载:只看同名函数参数列表,重写:子父类方法要一模一样 ——final关键字(最终)作为一个修饰符,可以修饰类,变量,函数,被final修饰的类不可以继承,被final修饰的变量是一个常量只能赋值一次,即可以修饰成员变量,也可以修饰局部变量final double PI=3.14 ——抽象abstract抽象方法一定定义在抽象类中,抽象类不可以用new创建对象,因为调用抽象方法没意义,类中的方法要被使用,必须由子类复写所有的抽象方法 abstract class student{abstract void study();} ——接口:初期理解:可以认为是一个特殊的抽象类,当抽象类中的方法都是抽象的,那么该类可以通过接口形式表示 class用于定义类,interface用于定义接口 接口定义特点:接口定义成员有固定修饰符 常量public static final 方法public abstract(public static final int NUM=3;public abstract void show();不写的话系统会自动补全,如void show(); ) 接口不可以创建对象,因为有抽象方法