Java基础知识整理【6】 (对象)

面向对象和面向过程

面向过程:
每个功能都会封装成一个方法,按照步骤一步步实现
在设计程序的时候,程序的最小单元是方法(函数),每一个函数负责某一个功能,整个程序由一个个程序组成,作为程序入口的函数称为主函数,主函数依次调用其他函数,来实现整个系统的工程
面向过程的缺陷:是自上而下的设计方式,在设计阶段就需要知道每一个模块来考虑有哪些方法(函数)来支持模块当前模块的执行
在细化的时候,因为不符合人类的思想,所以很难前行,维护性差
面向对象:
是一种基于面向过程的编程思想,站在思考的角度是对象,我们会把多个功能合理的放到不同的对象里面,此时不在是强调函数本身,前调的是具备某些功能的对象

面向对象中最小的程序单元是类

java中面向对象三大特征

封装:就是不暴露内部信息给外部,提供一些接口给外面使用
继承:子类可以在父类的基础上获取有用的信息
多态:同一事物被不同对象说触发,得到的结果是不一样的

类与对象
什么是抽象? 从特定的角度出发,从一存在的一些食物中抽取我们我们要关注的特征和行为,从而形成一个新的事物思维的过程叫做抽象

对象:世间万物皆对象 类:类是对象的抽象 类中储存着对对象的特征和行为

事物的属性就是----成员变量
事物的行为就是----成员方法
ps:面向对象就是把一组数据结构和处理他们的方法组成对象,把相同行为的对象归纳为类,通过类的封装隐藏内部细节, 通过继承实现类的有化,通过多态实现类的动态分配

程序中体现类和对象

语法:
访问权限修饰符 class 类名{
公共的属性–>成员变量
公有的行为–>成员方法
}

描述类:当前类中不会有main方法只是对对象的描

对象在内存中的储存

ps:因为类是引用类型,所以类创建出来的对象不能使用==进行判断,若需要判断,用equals方法
每次new关键字都会在堆中开辟一个新的空间

public class Student { //属性和行为
// 当前类中定义属性
//定义变量即可 --> 成员变量 --> 属于对象 /*
* 在类中所定义的成员变量都是有默认值的
* 整数类型:默认都是0
* 小数类型:默认都是0.0
* char类型:默认是一个空字符 不可见
* boolean类型:默认是false
* 引用类型 默认的值是 null */
int height; //身高
int weight; //体重
int age; //年龄
char gender;//性别
String name; //名字
//行为--> 定义方法 --> 成员方法 --> 属于对象,所以不能使用static修饰 /*
}
* 访问权限修饰符 返回值类型 方法名(参数列表){ * 方法体;
*}
*/
public void eat() { System.out.println("正在吃饭");
}
public void sleep() {
System.out.println("睡觉"); }

构造方法

作用是来创建对象使用的,构造方法多用于在初始化成员变量上

构造方法属于一个特殊的方法,没有返回值类型,没有任何修饰符,不会使用return并且方法名和类型一致

在创建类的时候,没有显示的提供任何构造方法时,系统会有默认的构造方法, 一旦显示提供了构造方法系统所提供的构造方法就不能再被使用

语法:
访问权限修饰符 类名(参数类型){
对参数进行赋值即对成员变量进行赋值
}
ps:1、绝对没有返回值类型,void也不准写
2、方法名和类名一致
3、构造方法不需要return关键字,使用不报错,但是不能有返回值
4、构造方法在创建对象的时候被调用
5、构造方法支持重载
6、访问权限修饰符可以使用 public(公有) 和 private(私有)–>单例
在不适用单例的前提下尽量不要私有
构造方法写在描述类中,测试类也会被提供构造方法是系统提供的

**
* 构造方法使用
* @author JKMaster *
*/
public class Teacher {
       String name;
int age; //构造方法可以提供两种一种是有参,另外一种是无参 //无参构造方法: 没有任何参数
public Teacher() {
//1.构造方法关系到继承 //2.无参构造方法中可以对属性进行一些初始化赋值 name = "张三";
age = 18; //3.可以对类中创建的成员数组进行初始化 System.out.println("无参构造方法被调用了");
}
//有参构造方法: 有参数一般参数是和成员变量一致的 public Teacher(String n,int a) {
name = n;
age = a; System.out.println("有参构造方法被调用了");
 }
 }

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/root1994/article/details/88981674