知识点:
面向过程开发
面向功能划分软件结构
自顶而下
最小的子系统是方法
制约了软件的可维护性和可扩展性
面向对象开发 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();
}
}