面向对象
每日一句:
人生在世,谁都会遇到挫折,适度的挫折具有一定的积极意义,它可以帮助人们驱走惰性,促使人奋进。挫折又是一种挑战和考验。
英国哲学家培根说过:"超越自然的奇迹多是在对逆境的征服中出现的。"关键的问题是应该如何面对挫折。
1.什么是面向过程,什么是面向对象?
面向过程:指的是所有步骤都得亲力亲为才能完成某件事情。
面向对象:将世间万物看成一个个对象,通过调用对象的属性和方法来完成事情。
2.面向对象的两大核心概念---------类与对象
万物皆对象
类
类是抽象的,是一组事物的集合体。
对象
对象是类的具体化表现,一般唯一的东西一定是对象。
类与对象是相对的关系。一个类可以有多个对象
3.Java中的类与对象
通过分析我们发现,世间万物皆可以通过两方面去描述它,分别是属性特征和行为/动作/功能。
3.1java中的类
package com.qu; /** * 用代码描述车这个事物,已知车有品牌,颜色,型号,价格;功能有载人 * @author Administrator * 打印tostring方法 是右键-->source-->genarate tostring */ public class Car { public String brand;//品牌 public String color;//颜色 public String type; //型号 public double price;//价格 public void manned() { System.out.println("品牌是"+brand+",颜色"+color+",价格是"+price+"的"+type+"车载人非常拉风"); } // 打印tostring方法 @Override public String toString() { return "Car [brand=" + brand + ", color=" + color + ", type=" + type + ", price=" + price + "]"; } }
包括属性和方法(行为)
3.2java中的对象
数据类型 对象名 = new 数据类型(); Car c = new Car(); public static void main(String[] args) { // 数据类型 对象名 = new 数据类型(); Car c = new Car(); //创建一个对象 Car c1 = new Car(); // 不赋值是有一个默认值的 System.out.println(c1.brand);//null System.out.println(c1.price);//0.0 // 对象名.属性=值; c.brand="奔驰"; c.color="酷炫黑"; c.type="大奔"; c.price=37.8; // 调用方法: 对象名.方法(); c.manned(); // 这个是生成了tostring的方法 System.out.println(c);//Car [brand=奔驰, color=酷炫黑, type=大奔, price=37.8]
4.成员变量与局部变量(考点)
4.1初始值不同
局部变量没有初始值,必须先赋值后使用
成员变量有初始值,可以不必赋值就能直接使用
4.2在类中的位置不同
局部变量指的是在方法中定义的变量就叫局部变量
成员变量指的是在类中方法外的变量就叫成员变量
4.3作用范围不同
局部变量只能作用在方法中
成员变量作用在整个类中
4.4在内存中的位置不同
局部变量在栈内存分配
成员变量在堆/方法区分配
4.5生命周期不同
局部变量生命周期随方法诞生而诞生,随方法结束而结束
成员变量随对象/类的诞生而诞生,随对象/类的结束而结束
5.方法
5.1什么是方法?
方法就是一段代码的集合体
5.2为什么要使用方法?
减少代码的冗余,提高复用
5.3方法的定义
权限修饰符 [静态修饰符] 返回值 方法名([参数列表]){ } 权限修饰符:public 静态修饰符:static 返回值:void表示无返回值,其它表示返回值数据类型 方法名:给方法取的名字 参数列表:可以是0个或多个;写法:数据类型 变量名,数据类型 变量名...
6.方法的重载
概念:在同一个类中,有一个及以上个同名方法,只要参数列表不同即可,它与返回值的类型无关,与修饰符无关。
(1)多个方法在同一个类中
(2)多个方法具有相同的方法名
(3)参数不同,参数个数不同,参数的类型不同,顺序不同