第一天
Java 是一种面向对象的程序设计语言。面向对象技术是一种数据抽象和信息隐藏的技术,它使软件的开发更加简单化,符合人们的思维习惯,同时又能降低软件的复杂性,提高软件的生产效率。
传统的面向过程编程语言(如 C 语言)是以过程为中心,以算法为驱动,而面向对象的编程语言是以对象为中心,以消息为驱动。
几乎所有的面向对象程序设计语言都有3个特性——封装、继承、多态。
封装
封装性是面向对象的核心思想。将面向对象的属性和方法封装起来,不需要让外界知道具体的实现的细节,这就是封装的思想。
封装可以使数据的安全性得到保证。
属性的封装。 Java🀄?,想要隐藏类的属性或方法,就可以加 private 修饰符来限制只能在类的内部进行访问。对于类🀄?的私有属性,要对其给出一对方法( getXXX()和 setXXX() )访问私有属性,保证对私有属性的操作的安全性。
继承
继承主要是指类与类之间的关系。通过继承,可以效率更高地对原有类的功能进行扩展。
Java 中的继承要使用 extends 关键字,只允许单继承—一个类只能有一个父类,这样的关系呈树状。
子类只能继承在父类中可以访问的属性和方法,实际上父类中私有的属性和方法也会被子类继承,只是子类访问不到。这里父类可以使用 protected 修饰符。
多态
多态是把子类型的对象主观地看作其父类型的对象,那么父类型就可以是很多类型。
多态有以下特征:对象实例确定后不可改变(客观);只能调用编译时类型所定义的方法;运行时会根据运行时类型去调用相应类型🀄?定义的方法。
类和对象
将具有相同属性及相同行为的一组对象称为类。
类是一个单独的单位,它有一个类名,其内部包括用于描述对象属性的成员变量和用于描述对象行为的成员方法。
[标识符] class 类名
{
类的成员变量
类的方法
}
类是创建Java的模版。
public class Dog{
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);
p1.speak();
}
}
对象
对象是根据类创建的。在 Java🀄?,使用关键字 🆕 来创建一个新的对象。
(1) 声明。声明一个对象,包括对象名称和对象类型。 (2)实例化。使用 🆕 创建 (3)初始化。使用 🆕 创建对象时,会🦅用🐶🛁方法初🔟🌼对🦣。
对象是对类的实例化。 在 Java 的世界里“一切皆对象”,面向对象的核心就是对象。
类名 对象名 = new 类名();
对象名.属性名
对象名.方法名()
|