一、面向对象概述
- 面向对象
- 是一种编程思想,是发展到一定阶段后产生的
- 我们有程序的编写者、执行者转换为调用者、指挥者
- 面向过程
- 编程思想
- 注重自己实现的过程
- 类
- 一组具有相同或者相似属性、行为事务的统称
- 是对象的抽象
- 对象
- 现实世界中具体存在的实物
- 是类的具体描述
二、类的创建
- 创建一个类需要关注的点
- 类名
- 这个类的名字
- 属性
- 这一群对象共有的一些特征
- 可以使用名词提炼法
- 方法
- 一群对象所共有的行为
- 编写成方法
- 目前不用加static
- 类名
package com.qf.cls;/** * 创建Dog类 * 抽取狗子的特征,定义为属性 * 抽取狗子的行为,定义为方法 * @author Dushine2008 * */public class Dog { // 属性--品种-哈士奇、年龄-3、名字-道哥、颜色-黑白 String breed; int age; String name; String color; // 方法 public void eat(String food) { System.out.println("狗子喜欢吃:" + food); } public void sleep(int hour) { System.out.println("我们家的狗子每天睡觉时长是" + hour); } }
三、对象的创建
- 类是对象的模板,可以使用类创建出无数个具体的对象
- 类名 对象名 = new 类名(参数列表);
package com.qf.cls;public class DogTest { public static void main(String[] args) { Dog dog = new Dog(); // 调用方法 dog.eat("骨头"); dog.sleep(8); // 调用属性,属性如果没有提前赋值,得到的是默认值 int age = dog.age; System.out.println(age); // 给dog的属性赋值 dog.breed = "哈士奇"; dog.name = "二哈"; dog.age = 3; dog.color = "黑白"; // 调用dog的属性 System.out.println("狗子的品种是:" + dog.breed); System.out.println("狗子的名字是:" + dog.name); System.out.println("狗子的年龄是:" + dog.age); System.out.println("狗子的颜色是:" + dog.color); }}
四、创建多个对象
- 一个类是多个对象的模板
- 一个类可以创建很多个对象
package com.qf.cls;public class CarTest { public static void main(String[] args) { // 创建对象 Car car = new Car(); // 给对象的属性赋值 car.brand = "比亚迪*唐"; // 调用对象的方法 car.start("摇把"); car.run(200); Car jili = new Car(); jili.brand = "cheey"; jili.maxSpeed = 220; jili.start("一键启动"); jili.run(120); }}/** * Car类 * @author Dushine2008 * */class Car{ // 属性 String brand; String color; int price; int maxSpeed; // 方法 public void start(String func) { System.out.println(brand + "的车子启动的方式是:" + func); } public void run(int speed) { System.out.println("车子目前的速度是:" + speed); }}
创建单个对象的过程
创建多个对象的过程
五、局部变量和实例变量
类型 | 局部变量 | 实例变量 |
---|---|---|
定义位置 | 方法内部 | 类中方法外 |
存储位置 | 栈内存 | 堆内存 |
默认值 | 无,必须先赋值在使用 | 有默认值,和数据类型有关 |
作用范围 | 整个方法 | 整个类 |
生命周期 | 创建到方法执行结束 | 随着对象创建而创建,对象消失而消失 |
命名冲突 | 方法中不能存在重名变量 | 可以和局部变量重名,局部变量优先级高 |
六、实例方法
- 创建对象后可以使用对象调用的方法
- 定在类中方法外
- 每一个方法都是独立的,不能书写在其他方法中
- 实例方法不能使用static修饰
- 因为使用static修饰的方法成为类方法
6.1 案例
- 实体类--Student
package com.qf.cls;/** * 学生类 * 定义了学生的属性 * 定义了sayHi和show方法 * @author Dushine2008 * */public class Student { // 属性 String name; int age; String gender; double score; /** * 见面打招呼的方法 * @param word 打招呼的内容 */ public void sayHi(String word) { System.out.println("我是一个好学生,我们见面都会说:" + word); } /** * 展示自己信息的方法 */ public void show() { System.out.println("我的名字是:" + name + ",我的今年" + age + ",我是" + gender + ",我这次考试的成绩是:" + score); }}
- 测试类TestStudent
package com.qf.cls;public class TestStudent { public static void main(String[] args) { // 创建学生对象stu01 Student stu01 = new Student(); stu01.name = "张飞"; stu01.gender = "汉子"; stu01.age = 16; stu01.score = 33; stu01.sayHi("我乃燕人张翼德"); stu01.show(); // 创建学生对象stu02 Student stu02 = new Student(); stu02.name = "关羽"; stu02.gender = "壮士"; stu02.age = 17; stu02.score = 88; stu02.sayHi("打死你个鳖孙!!!"); stu02.show(); }}
七、方法的重载
- 在同一个类中出现了名字相同的方法
- 他们的参数列表不同
- 和返回值、修饰符无关
原文转载:http://www.shaoqun.com/a/599572.html
moss:https://www.ikjzd.com/w/1653
kkr:https://www.ikjzd.com/w/1340
一、面向对象概述面向对象是一种编程思想,是发展到一定阶段后产生的我们有程序的编写者、执行者转换为调用者、指挥者面向过程编程思想注重自己实现的过程类一组具有相同或者相似属性、行为事务的统称是对象的抽象对象现实世界中具体存在的实物是类的具体描述二、类的创建创建一个类需要关注的点类名这个类的名字属性这一群对象共有的一些特征可以使用名词提炼法方法一群对象所共有的行为编写成方法目前不用加staticpack
文化衫事件:https://www.ikjzd.com/w/1932
kili:https://www.ikjzd.com/w/238
邮乐网:https://www.ikjzd.com/w/1776
图文实操:如何提高你的Facebook主页吸粉能力?:https://www.ikjzd.com/home/102485
口述:老婆和男邻居阳台秀爱被我识破老婆邻居男孩:http://lady.shaoqun.com/m/a/36212.html
Prime Day爆单之后,紧接的各类售后问题该如何收尾?:https://www.ikjzd.com/home/101473
No comments:
Post a Comment