第一天
Java 是一种面向对象的程序设计语言。面向对象技术是一种数据抽象和信息隐藏的技术,它使软件的开发更加简单化,符合人们的思维习惯,同时又能降低软件的复杂性,提高软件的生产效率。
传统的面向过程编程语言(如 C 语言)是以过程为中心,以算法为驱动,而面向对象的编程语言是以对象为中心,以消息为驱动。
几乎所有的面向对象程序设计语言都有3个特性——封装、继承、多态。
封装
封装性是面向对象的核心思想。将面向对象的属性和方法封装起来,不需要让外界知道具体的实现的细节,这就是封装的思想。
封装可以使数据的安全性得到保证。
属性的封装。 Java🀄️,想要隐藏类的属性或方法,就可以加 private 修饰符来限制只能在类的内部进行访问。对于类🀄️的私有属性,要对其给出一对方法( getXXX()和 setXXX() )访问私有属性,保证对私有属性的操作的安全性。
继承
继承主要是指类与类之间的关系。通过继承,可以效率更高地对原有类的功能进行扩展。
Java 中的继承要使用 extends 关键字,只允许单继承—一个类只能有一个父类,这样的关系呈树状。
子类只能继承在父类中可以访问的属性和方法,实际上父类中私有的属性和方法也会被子类继承,只是子类访问不到。这里父类可以使用 protected 修饰符。
多态
多态是把子类型的对象主观地看作其父类型的对象,那么父类型就可以是很多类型。
多态有以下特征:对象实例确定后不可改变(客观);只能调用编译时类型所定义的方法;运行时会根据运行时类型去调用相应类型🀄️定义的方法。
类和对象
将具有相同属性及相同行为的一组对象称为类。
类是一个单独的单位,它有一个类名,其内部包括用于描述对象属性的成员变量和用于描述对象行为的成员方法。
[标识符] class 类名
//标识符可以是 public private protected 或者完全省略
//类名类名应该由一个或多个有意义的单词,每个单词首字母大写,单词之间不要使用任何分隔符。
{
类的成员变量
类的方法
}
类是创建Java的模版。
public class Dog{
//局部变量。在方法、构造方法或者语句块🀄️定义的变量。声明和初始化都在方法🀄️,方法结束后,变量就会自动销毁。
//成员变量。定义在类中、方法体之外的变量。这种变量在创建对象的时候实例化。成员变量可以被类中的方法、构造方法和特定类的语句块访问。
//类变量。声明在类中、方法体之外,但必须声明为static类型。
String name;
int age;
String color;
void barking(){
}
void hungry(){
}
//一个类可以拥有多个方法。
}
类方法应用实例
class Person {
String name;
int age;
void setName(String names){
name = names;
}
void setAge(int ages){
age = ages;
}
void speak(){
System.out.println(“My name is ” + name + ”, 今年 ” + age +” 岁。”);
}
}
public class Test {
public static void main(String[] args){
Person p = new Person();
p.setName(“Yu”);
p.setAge(18);
p.speak();
}
}
构造方法
在创建类对象时,对类中的所有成员都需要初始化,赋值过程比较麻烦。如果在对象最初被创建时就完成对其成员变量的初始化,程序将更加简洁。Java允许对象在创建时进行初始化,初始化是通过构造方法来完成的。
- 构造方法的名称必须与类的名称完成相同。
- 构造方法不返回任何数据,也不需要使用 void 关键字声明。
- 构造方法的作用是创建对象并初始化成员变量。
- 在创建构造方法时,系统会自动调用类的构造方法
- 构造方法一般使用public关键字声明。
- 每个类至少有一个构造方法。如果不定义构造方法,Java将提供一个默认的不带参数且方法体为空的构造方法。
- 构造方法也可以重载
class Person {
String name;
int age;

public Person(String name, int age) { //定义构造方法,使用和类相同的名字,有两个参数
this.name = name;
this.age = age;
}

void speak() { //方法通常以小写字母开始,而构造方法通常以大写字母开始。构造方法通常是一个名词,因为它和类名相同;而方法通常是动词,因为它说明一个操作。
System.out.println("我叫" + name + ",今年" + age + "岁。");
}
}

public class Test {
public static void main(String[] args) {
Person p1 = new Person("张三", 18);
//根据构造方法,必须含有两个参数,如果不写会报错
//为了避免这种情况,应该再添加一种无参数的构造方法:public Person() { }
//也就是说,如果自定义了构造方法,为了避免出错
//应该定义一个无参数的构造方法,这样也实现了构造方法的重载
p1.speak();
}
}
对象
对象是根据类创建的。在 Java🀄️,使用关键字 🆕 来创建一个新的对象。
(1) 声明。声明一个对象,包括对象名称和对象类型。
(2)实例化。使用 🆕 创建
(3)初始化。使用 🆕 创建对象时,会🦅用🐶🛁方法初🔟🌼对🦣。
对象是对类的实例化。 在 Java 的世界里“一切皆对象”,面向对象的核心就是对象。
类名 对象名 = new 类名(); //实例化对象
对象名.属性名
对象名.方法名() //访问对象的成员变量或方法格式