java基础-----面向对象

本文介绍了面向对象的基本概念,包括对象、类以及面向对象的开发步骤。强调了类与对象的关系,并提供了创建对象和访问其属性及方法的方法。此外,还提到了方法在面向对象编程中的重要性,以及面向对象编程中的关键元素如属性和方法的定义。文章最后给出了面向对象编程的课后练习题目。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

面向对象

面向过程:1.2.3...步骤,-----算法

一、面向对象:Oriented Object,OOP,OOA,

​ 模拟现实社会,描述复杂的问题场景,让对象自己解决问题。

概念:

​ 对象:万事万物皆对象。每一个看得见摸得着的一个具体存在。

​ 静态的 特征:姓名,性别,身高,电话号码

​ 动态的特征:行为,动作,功能等。上课,吃饭,睡觉

​ 类:具有相同的特征的对象的集合。

​ 类和对象的关系:

​ 类是一个概念,是抽象的,对象是一个具体的对象,

​ 类士集合,对象是其中的一个个体。

​ 类是数据类型,对象是实例对象。

​ 学生---张荣 共享单车--青桔

1.2面向对象的开发步骤:

1.2.1、:先把对象归类,抽象出类

​ 属性:数据类型 变量名;String name;

​ 方法:访问控制符 返回值类型 方法名(参数列表){

​ 方法体

​ }

​ //访问控制符 public

​ //返回值类型 void

​ //方法名 小驼峰法,见名知意

​ //参数列表 可以省略

​ //方法体 具体的执行过程

1.2.2、由类来创建对象

​ 类名 对象名=new 类名();

1.2.3、使用.操作符来访问对象的属性和方法

​ 对象名.属性

​ 对象名.方法()

属性:全局变量,实例变量

​ 有默认值:int---0,String----null,double----0.0 boolean---false

​ 作用域:整个类中所有的方法都可以使用

​ 生命周期:从对象的创建----对象的销毁

局部变量和全局变量是否可以重名?可以,局部变量的优先级更高

​ 如果要特指全局变量,

this 当前对象,谁调用这个方法 this就指代谁

1.3方法

行为,动作,功能等

访问控制符 返回值类型 方法名(参数列表){

​ 方法体

​ }

返回值类型:void 没有返回值

​ 有返回值:int ,String等

​ 方法体最后一句要以return 数据类型的值;

课后练习:

1、定义狗类

定义狗类

属性:昵称,品种,健康值(int)

方法:吃,玩飞盘

定义测试类 实例化对象,调用方法


public class Dog2 {
	public static void main(String[] args) {
		Dog xx = new Dog();
		xx.name = "霸天虎";
		xx.health = 100;
		xx.var = "德牧";

		System.out.println(xx.name + "的品种是" + xx.var + ",健康值是:" + xx.health);
	}
}

----------------------------------------------------------------------------------------

public class Dog {
	String name;
	String var;
	int health;

	public void eat() {
		System.out.println("吃骨头");
	}
	public void play() {
		System.out.println("玩飞盘");
	}
}


 2、求矩形面积

定义矩形类:

 属性:宽 、高

 方法:计算周长,面积(要求把结果返回)

定义测试类:实例化两个矩形对象,并求出周长和面积。


public class Juxing {
	double length;
	double width;

	public double perim() {
		double per;
		per = (length + width) * 2;
		return per;
	}

	public double area() {
		double are;
		are = length * width;
		return are;
	}
}

----------------------------------------------------------------------------------------

public class Juxing2 {
	public static void main(String[] args) {
		Juxing x = new Juxing();
		x.length = 5;
		x.width = 9.5;

		System.out.println("矩形的周长为:" + x.perim() + "矩形的面积为:" + x.area());
	}
}

 3、实现级联菜单

一级菜单

*****欢迎进入银行系统*********

  1. 注册
  2. 登录
  3. 退出

*******************************

请选择:

二级菜单

*******************************

  1. 查询余额
  2. 存款
  3. 取款

*******************************

请选择(输入0返回上一级):

import java.util.Scanner;

public class Caidan {
	public void menu1() {
		Scanner sc = new Scanner(System.in);
		boolean flag = false;

		do {
			System.out.println("********欢迎进入银行系统********");
			System.out.println("\t1、注册");
			System.out.println("\t2、登录");
			System.out.println("\t3、退出");
			System.out.println("************************");
			System.out.print("请选择:");
			int num = sc.nextInt();

			switch (num) {
			case 1:
				System.out.println("\t注册");
				break;
			case 2:
				System.out.println("\t登录");
				menu2();
				break;
			case 3:
				System.out.println("\t退出");
				break;
			default:
				flag = false;
				System.out.println("输入有误,请重新输入");
			}
		} while (!flag);
	}

	public void menu2() {
		Scanner sc = new Scanner(System.in);
		System.out.println("************************");
		System.out.println("\t1、查询余额");
		System.out.println("\t2、存款");
		System.out.println("\t3、取款");
		System.out.println("************************");
		System.out.print("请选择(输入0返回上一级):");
		int num = sc.nextInt();
		switch (num) {
		case 0:
			menu1();
			break;
		case 1:
			System.out.println("\t查询余额");
			break;
		case 2:
			System.out.println("\t存款");
			break;
		case 3:
			System.out.println("\t取款");
			break;
		default:
			System.out.println("输入有误,请重新输入");
			menu2();
		}
	}
}

----------------------------------------------------------------------------------------

public class Caidan2 {
	public static void main(String[] args) {
		Caidan d = new Caidan();
		d.menu1();
	}
}

 4、定义一个计算器,实现两个数的加减乘除。


public class Cal {
	double num1;
	double num2;

	public double jia() {
		double he = num1 + num2;
		return he;
	}

	public double jian() {
		double jian = num1 - num2;
		return jian;
	}

	public double cheng() {
		double cheng = num1 * num2;
		return cheng;
	}

	public double chu() {
		double chu = num1 / num2;
		return chu;
	}
}
-------------------------------------------------------------

public class Cal2 {
	public static void main(String[] args) {
		Cal suan = new Cal();
		suan.num1 = 45;
		suan.num2 = 4.5;
		System.out.println("这两个数相加为:" + suan.jia() + "\t相减为:" + suan.jian()
       + "\t相乘为:" + suan.cheng() + "\t相除为:" + suan.chu());
	}
}

5、用户登录

账户类:

属性:用户名,密码

方法:登录验证,要求返回验证结果

          正确的账户信息是admin/123456

import java.util.Scanner;

public class Zhanghu {
	String user = "admin";
	String password = "123456";

	public String denglu() {
		Scanner sc = new Scanner(System.in);
		System.out.print("请输入你的用户名:");
		String a = sc.next();
		System.out.print("请输入你的密码:");
		String b = sc.next();
		if (user != a || password != b) {
			return "您的账号或密码有误";
		} else {
			return "登录成功";
		}
	}
}
-----------------------------------------------------------------------------------

public class Zhanghu2 {
	public static void main(String[] args) {
		Zhanghu yz = new Zhanghu();
		System.out.println(yz.denglu());
	}
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值