面向对象--基础
---1,思想
1,面向过程
特点:只考虑事物的发展顺序
2,面向对象
特点:先考虑事物中存在哪些对象,再建立对象与对象之间的关系
---2,对象
1,现实生活中的对象:真实存在的事物
2,Java代码中的对象:用Java代码描述现实生活中或虚拟世界的事物
---3,对象与类的关系
1,现实生活中:先有对象后有类
2,代码中:先有类,后有对象;一个类可以有多个对象
---4,类1,类概念
【是什么?】多个对象抽取其共同点形成的概念
2,如何创建一个类
public class 类名{}
3,类中有什么?
1,属性:
1. 概念:多个对象提取的静态特征,如人的姓名,性别,年龄,肤色,身高等
2. 定义位置:类中方法外
3.语法:public 数据类型 属性名;
4. 又名:成员变量
5. 与变量的区别:
1, 作用域不同
2,生命周期不同
3,成员变量有默认值,基本数据为0;引用数据类型为null;局部变量没有默认值
4,成员变量有访问权限修饰,局部变量没有访问权限修饰符
2,方法:
1,概念:多个对象提取的动态特征(行为),如人的吃饭,喝水,学习,睡觉等
2,定义位置:类中方法外
3,语法:public 返回值类型 方法名(形参列表){
方法体;
};
4,又名:函数,成员方法
3,构造函数(方法):
1,概念:一个特殊的方法,该方法用户创建该类对象,使用new关键字调用
2,定义位置:类中方法外
3,语法:public 构造函数名 (形参列表){
方法体;
};
注意:1.构造函数名必须是类名,大小写都要一致
2.构造函数没有返回值
3.如果一个类中没有构造函数,系统将为其提供一个无参构造函数
4.如果一个类有构造函数,系统将不会为其提供构造函数
4,this
概念:哪个对象调用this所在的方法,this就代表谁
使用:1. 在本类中可以调用本类的属性或方法,该情况下this可以省略
2. 当局部变量与成员变量(属性)重名时,this可以用于区分局部变量和成员变量
3. 在本类的构造方法中调用本类其他的构造方法时,要放在构造方法中的第一行, 并不能形成死循环
---this使用例子:
1,在本类中调用本类其他属性或方法时,this可以省略不写
//this使用例子: //1,在本类中调用本类其他属性或方法时,this可以省略不写 class A{ private String name; public A(String n){ name = n; } public void test(){ System.out.println(name); } } class Test{ public static void main(String[] args){ A a1 = new A("嫌疑人1"); A a2 = new A("路人甲"); a1.test(); a2.test(); } } //2,当局部变量名与属性名,重名时.使用this进行区分 class A{ private String name; public A(String name){ this.name = name; } public void test(){ System.out.println(name); } } class Test{ public static void main(String[] args){ A a1 = new A("嫌疑人1"); A a2 = new A("路人甲"); a1.test(); a2.test(); } } //3,调用本类其他构造函数 class A{ private String name; public A(){ this("无名"); } public A(String name){ this.name = name; } public void test(){ System.out.println(name); } } class Test{ public static void main(String[] args){ A a1 = new A("嫌疑人1"); A a2 = new A("路人甲"); a1.test(); a2.test(); } }
---5,对象
1,如何创建对象?
数据类型 对象名 = new 构造函数名(实参列表);
2, 对象的创建过程
1,使用new 在堆中开辟一块内存地址
2,对创建的对象赋初始化值;基本数据类型默认为0,引用数据类型为null
3,执行构造函数中的代码
4,将栈的引用指向堆内存的地址
3,如何使用对象调用他自己的属性
1,获取对象的属性
语法:对象名. 属性名;
2,修改对象的属性值
语法:对象名. 属性名 = 值;
4,如何使用对象调用方法
语法:对象名.方法(实参列表 );【对象 所属的类具有该方法】---6,没有对象名的对象,称为匿名对象【了解】
new Random( ).nextInt( );
学习Java简单整理笔记--Day09
最新推荐文章于 2024-09-27 00:45:01 发布
本文详细介绍了面向对象的基本概念,包括面向过程与面向对象的区别,对象与类的关系,类的定义及构造函数,this关键字的使用,以及对象的创建与方法调用。通过实例展示了如何在Java中创建和使用类与对象,强调了对象的属性和方法,以及构造函数在对象初始化中的作用。
摘要由CSDN通过智能技术生成