一、Java简介:
Java 是由 Sun Microsystems 公司于 1995 年 5 月推出的高级程序设计语言。
Java 可运行于多个平台,如 Windows, Mac OS 及其他多种 UNIX 版本的系统。
二、Java文件创建
此处我们以IDEA进行演示:
首先点击文件 ,选择新建项目
然后选择Java模块
这里选择从模板创建项目,勾选后IDEA会创建好一个完整的Java运行环境
接下来是选择项目路径,在创建新的项目时要保证目标文件夹为空
三、Java结构
1、 Java类
(1)、性质:Java类是一个模板,它描述一类对象的行为和状态。举一个简单的例子:人类算一个类,在这个类中包含了女性和男性两种对象。每个对象中又可以细分。
2、对象
(1)、性质:对象是一个类的实例,就比如上述用人举例的过程,在类中包含了属性和方法这里的属性可以视为你的姓名、年龄等。而方法就可以视为你做的事。
(2)、构造对象:在Java类中有一例特殊的对象称为构造对象。这个对象在类创建之后将会自行隐藏。在需要使用的时候可以调用并对属性进行初始化。
public class Student {
//属性
private String name;
private int age;
public Student(String name,int age){
this.name = name;
this.age = age;
}
/*注:构造方法中 格式:public 类名(参数类型 参数名,,){ 方法体...}
目的是为了创建对象以及给多个属性初始化,并且每个类都有一个默认无参构造方法,当自己定义构造方法,那么默认的无参构造方法就会被替代*/
}
(3)、方法重载:在Java中,同一个类中的多个方法可以有相同的方法名称,但是有不同的参数列表,这就称为方法重载,重载方法时需要注意方法名和类名相同,并且参数类型和顺序不能一致。
//这是在同一个类中的两种方法
public Student(String name,int age){
this.name = name;
this.age = age;
}
public Student(int age,String name){
this.name = name;
this.age = age;
}
3、属性
(1)、性质:用来描述具体某个对象的特征。描述的是对象的状态信息,通常以变量的形式进行定义。用上述例子就是人的年龄、姓名等。此外在类体中,方法体之外定义的变量称为“成员变量”。成员变量定义在类体中,在整个类中都可以被访问,并且这些变量都有自己的初始值
成员变量有默认初始化值。
(2)、属性的类型声明:在Java中属性可以声明为公共的(public)和私有的(private)。公共属性可以被其他类访问得到而私有属性需要通过getter和setter函数在外部类对其实现访问和修改。
public Student(String name,int age){
this.name = name;
this.age = age;
}
//设置set函数
public void setName(String name){
this.name = name;
//this表示为当前对象的属性值
}
//设置get函数
public String getName(){
return name;
}
4、方法
注:这里的方法有别于变量中的构造函数。
(1)、性质:描述的是对象的动作信息,为定义在类中的具特定功能的一段独立的小程序,方法也称为函数。抽象到人的话就是人所做的事。
[修饰符列表] 返回值类型 方法名(变量){
方法体
}
(2)、特点:定义方法可以将功能代码进行封装,即实现代码功能分类。便于该功能进行复用。 方法只有被调用才会被执行。方法的出现提高代码的复用性。
四、Java中的继承
1、继承
(1)、继承的性质:继承是面向对象最显著的一个特性。继承是从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为,并能扩展新的能力。用上述例举例即为人类中父与子的关系。儿子与父亲存在血缘关系,但儿子本身可以有自身的行为和想法。应用到代码中可以使代码有扩展能力,拓展应用场景。子类还有一个特点:子类实际上是将父类定义的更加的具体化的一种手段。父类表示的范围大,而子类表示的范围小。
(2)、继承的方法
class 子类 extends 父类 {}
此时子类被称为派生类,对于子类来说,父类为超类。
(3)、继承特点:当子类继承父类后,可以调用父类中已存在的方法以及属性,同时在不扩充父类的情况下可以维持父类的操作。同时,当子类中某些方法不再适用的时候可以重写父类
此时为子类扩充父类内容。
(4)、方法重写:在编写Java时可能会遇到方法重写,此时重写方法要求两个类为继承关系,同时子类中访问修饰符需要大于等于父类并且方法的参数顺序、类形、个数要一致。
super.父类名(参数);
//保留父类原有的功能:调用父类的方法
//this 表示本类对象
//super 表示当前类的父类对象
(5)、注意事项:在Java中不支持多继承,即一个父类可以有多个子类,但一个子类不能继承多个父类。依据Java性质来看,所有的类将会继承Object类。此外,子类只能继承父类中的public方法和protected方法。
2、转型
(1)、向上转型(自动转型):将创建的子类对象强制转为父类
父类名 对象名 = new 子类名();
(2)、向下转型(强制转型):在使用向下转型时需要保证已经执行自动转型。