认识类和对象

本文介绍了面向对象编程的概念,对比了面向过程开发的局限性。通过Java语言展示了类和对象的创建,包括属性和方法的定义。还提供了Student、Visitors和User类的实例,演示了对象如何调用方法以及方法间的交互。最后,给出了Test01类的main方法调用User类方法的示例。
摘要由CSDN通过智能技术生成

知识点:

面向过程开发

面向功能划分软件结构
自顶而下
最小的子系统是方法
制约了软件的可维护性和可扩展性

面向对象开发 OOP

把软件系统看成各种对象的集合
系统结构较稳定
子系统相对独立
软件可重用性、可维护性和可扩展性强

对象的属性

属性——对象具有的各种特征 静态的

对象的方法

方法——对象执行的操作 动态的

什么是类

具有相同属性和方法的一组对象的集合
类是对象的抽象,对象是类的具体

Java是面向对象的语言

所有Java程序都以类class为组织单元
关键字class定义自定义的数据类型

类将现实世界中的概念模拟到计算机程序中

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

引用对象成员:使用“.”进行以下操作
引用类的属性:对象名.属性
引用类的方法:对象名.方法名()

对象的属性, 对象的方法

什么是方法

方法是个“黑匣子”,完成某个特定的应用程序功能,并返回结果
类的方法定义类的某种行为(或功能)

方法的返回值

如果方法具有返回值,方法中必须使用关键字return返回该值,返回值类型为该值的类型 返回值只能有一个

如果方法没有返回值,返回值类型为void

方法之间允许相互调用,不需要知道方法的具体实现,实现重用,提高效率

Student类的方法a( )调用Student类的方法b( ),直接调用

public void a( ) {
b( ); //调用b( )
}

Student类的方法a( )调用Teacher类的方法b( ),先创建类对象,然后使用“.”调用

public void a( ) {
Teacher t = new Teacher( );
t.b( ); //调用Teacher类的b()
}


练习代码:

public class Student {
	public String id="1001";
	public String name="张三";
	public int age=18;
	public char sex='男';
	
	public Student() {
		super();
		
	}
	public Student(String id, String name, int age, char sex) {
		super();
		this.id = id;
		this.name = name;
		this.age = age;
		this.sex = sex;
	}

	public  void qyk() {
		System.out.println("狠狠的亲了一大口!");
	}
	
	public static void main(String[] args) {
		 Student zhangsan = new Student();
		 System.out.println("姓名"+zhangsan.id+"\n"+zhangsan.name+zhangsan.age+zhangsan.sex);
		 zhangsan.qyk();
	}
	
}
public class Visitors {	

	public  String name;	
	public int age;	
	public void ff() {
		Scanner input = new Scanner(System.in);
		System.out.println("请输入您的姓名:");
		String name = input.next();
		System.out.println("请输入您的年龄:");
		int age = input.nextInt();
		if(age>0&&age<=18) {
			System.out.println("门票半价!");
		}else if(age>18&&age<=60) {
			System.out.println("全价票!");
		}else if(age>60) {
			System.out.println("不要门票!");
		}				
	}
	public static void main(String[] args) {
		 Visitors vs = new Visitors();
		 vs.ff();
	}

User类

public class User {
	//两条属性,用户名和密码
	public String name="admin";
	public String password="111111";
	//定义一个方法, 验证用户名和密码是否正确
	//如果正确,修改密码
	public void ff() {
		//创建Scanner对象用于接收键盘数据
		Scanner input = new Scanner(System.in);
		//友情提示:输入用户名
		System.out.println("请输入用户名");
		//将键盘接收到的值赋给name
		String name = input.next();
		//使用equals方法对字符串进行判断
		if(name.equals("admin")) {
			//友情提示:输入密码
			System.out.println("请输入密码");
			//将键盘接收到的值赋给password
			String password = input.next();
			//对密码进行判断
			if(password.equals("111111")) {
				//如果密码正确,提示输入新的密码
				System.out.println("请输入新的密码:");
				//将键盘上输入的值赋值给 pass1
				String pass1 = input.next();
				//把pass1的值赋值给password
				password=pass1;
				//友情提示: 修改成功
				System.out.println("修改成功,您的新密码是:"+pass1);
			}
		}else {
			//输入用户错误时,走else代码  用户名不正确
			System.out.println("用户名不正确");
		}	
	}
}

Test01 类

public class Test01 {
	public static void main(String[] args) {
		 User user = new User();
		 user.ff(); 
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

晚点再动心

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值