avatar

Java基础概念

类的特性

成员变量

也就是Java中类的属性
例如创建一个鸟类 需要的属性

1
2
3
4
5
public class Bird{
String wing;
String claw;
...
}

成员方法

也就是Java中类的行为 例如猎豹的行为

1
2
3
4
5
6
public class Leopard{
//凝视 就是方法 目标是taget
public void gaze(String target){}
//睡觉
public void sleep(){}
}

局部变量

在成员方法内定义的变量 在使用时必须进行赋值操作或被初始化

1
2
3
4
public String getName(){
int id = 0; //id就是局部变量
return id + this.name;
}

嵌套区域中不可以定义相同的名称和类型的局部变量

this关键字

Java提供了this关键字,在类中,this代表类本身的对象

1
2
3
4
5
6
7
8
9
10
public class Book{
String name = "abc";
public void showName(String name){
System.out.println(this.name);
public static void main(String[] args){
Book book = new Book();
book.showName("123");
}
}
}

输出结果为abc

类修饰符

private protecte public
本类 可见 可见 可见
同包其他类或子类 不可见 可见 可见
其他包的类或子类 不可见 不可见 可见

default package 默认包

类的构造方法

构造方法是一个与类同名的方法,对象的创建就是通过构造方法完成的。每当类实例化一个对象时,类都会自动调用构造方法。

1
2
3
public class Bird{
public Bird(){}//Bird的类的构造方法
}

类的主方法

程序运行的入口 也就是main方法 主方法是类的入口点,它定义了程序从何处开始,主方法提供对程序流向的控制,Java编译器通过主方法来执行程序。

1
2
3
public static void main(String[] args){
//方法体
}

主方法是静态的,如果直接在主方法中调用其他方法,则该方法必须是静态的。
主方法没有返回值。
主方法的形参为数组。
静态方法总是先执行。
tmp:a 临时的a

面向对象 Object

世间万物皆对象 看的到的都是对象 是事物存在的实体
1.静态部分,被称为“属性”,如人的性别,高矮,胖瘦。。
2.动态部分,对象的行为,如人可以微笑,走路。。

类是同一类事物的统称,如果一个事物抽象成对象,类就是这类对象的统称,如鸟类,人类。
类就是对象的设计图。

面向对象编程设计的特征

三大特征:1.封装 2.继承 3.多态
(其实还有第四个特征:抽象。也就是对象和类的概念)

封装

封装是面向对象编程的核心思想,将对象的属性和行为封装起来,而将对象的属性和行为封装起来的载体就是类,类通常对客户隐藏其实现细节,这就是封装的思想。
(如用户使用计算机,只需要使用手指敲击键盘就可以实现一些功能,无需知道计算机内部是如何工作的) 写一个类,不需要知道这个类怎么实现的,只要它提供了方法供使用者调用。

继承

当处理一个问题时,可以将一些有用的类保留下来,这些类通常有相同的属性,甚至相同的方法,当遇到同样问题时可以拿来复用。例如鸽子具有与鸟类相同的属性和行为。在创建信鸽类时将鸟类拿来复用,并保留鸟类具有的属性和行为。

继承性主要利用特定对象之间的共有属性。例如,矩形是四边形,矩形与四边形具有共同的特性,也就是4个边,可以将矩形类看作四边形的延申,矩形复用了四边形的属性和行为,同时添加了矩形独有的属性和行为。

多态

继承中,存在父类和子类,其实将父类对象应用于子类的特征就是多态。
多态性允许以统一的风格编写程序,以处理种类繁多的已存在的类以及相关类。该统一风格可以由父类来实现,根据父类统一风格的处理,就可以实例化子类的对象。由于整个事件的处理都只依赖于父类的方法,所以日后只要维护和调整父类的方法即可,这样就降低了维护的难度,节省了时间。

一个类衍生出不同的子类,子类继承了父类的特征,子类又有自己的特点,这个就是多态化的结构。

编译看左,运行看右(覆盖重写)

文章作者: CodeLEI
文章链接: https://leidashuai.github.io/posts/42165/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Leidashuai's Blog
打赏
  • 微信
    微信
  • 支付宝
    支付宝