Java面向对象编程-1

面向对象目录
1 类与对象
2 封装 
  2.1 构造方法
  2.2 类的结构 
3 继承
  3.1 类的设计与扩展 
4 接口
  4.1 事件监听器
5 抽象类
6 泛型
7 枚举


1 类与对象

1.1类与对象

类(class)是对一类事物的抽象信息描述。这些事物具有相同的或者相似的属性、特征、行为、功能。

对象(object)是具体的事物(实体)。

类与对象的关系如下表所示。

类(class)对象(object)
人类具体的某个人
用户类某个具体的用户
…………

1.2 类的定义

1)关键字:class 

2)格式:class 类名{ }

3)类名命名规则:要求使用驼峰命名法。例如:JavaFirstClass  

4)内容:可以写的东西很多:主函数、静态资源等等,与面向对象有关的:属性和方法。

①属性。描述一类事物共有的、名词或形容词的数据,可以用一个变量表达。

格式:属性数据类型 属性名;

例如:String name; String pwd; int age; 

由于尚未实例化,因此不需要对这些变量赋值。

②方法。描述一类事物共有的行为功能。

格式:返回值类型 方法名(参数类型 参数名){//方法体  }

e.g.登录注册程序。

1、定义用户类User。

属性:用户名、密码、在线状态……

方法:查看信息、登录、检查密码、修改密码……

2、创建实体user1、user2。只对user1做初始化,并调用方法。

public class User{

    //属性
    //需要直接赋值?不需要
    String userName;//用户名
    String password;//密码
    boolean onlineState;//登录状态

    //方法
    void showInfo(){//显示信息

        System.out.println("------User Information------");
        System.out.println("username:"+userName);
        System.out.println("password:"+password);
        System.out.println("online state:"+(onlineState?"ONLINE":"OFFLINE"));

    }

    boolean checkPassword(String pwdIn){//检查密码

        //哪个对象调用方法,方法中的属性就是哪个对象
        //除了关键字数据类型,都不可以使用==比较
        if (pwdIn.equals(password)){
            System.out.println("RIGHT password");
            return true;
        }
        else{
            System.out.println("WRONG password");
            return false;
        }

    }

    void logIn(String pwdIn){//登录

        if (check_password(pwdIn)){
            System.out.println("successful");
            onlineState = true;
        }
        else {
            onlineState = false;
            System.out.println("unsuccessful");
        }

    }

    void changePassword(String old_pwd,String new_pwd){//修改密码

        if (checkPassword(old_pwd)){
            System.out.println("successful change");
            password = new_pwd;
        }
        else {System.out.println("unsuccessful change");}

    }


    //程序入口
    public static void main(String[] args) {

        //实例化
        //转为对象
        //类:模板
        //对象:根据模板创建的实体
        //格式
        //类名 对象名 = new 类名();
        User user1 = new User();
        user1.userName = "user1";
        user1.password = "0000";
        //登录状态online_state默认为false

        // 调用方法
        user1.showInfo();
        System.out.println(user1.checkPassword("00000"));
        System.out.println(user1.checkPassword("0000"));
        user1.logIn("00000");
        user1.logIn("0000");
        user1.changePassword("00000","0000");
        user1.changePassword("0000","00000");
        user1.showInfo();

        // 每个对象都是独立存在的 - 都有一份自己的内存数据
        User user2 = new User();
        user2.showInfo();

    }
}

运行结果

------User Information------
username:user1
password:0000
online state:OFFLINE
WRONG password
false
RIGHT password
true
WRONG password
unsuccessful
RIGHT password
successful
WRONG password
unsuccessful change
RIGHT password
successful change
------User Information------
username:user1
password:00000
online state:ONLINE
------User Information------
username:null
password:null
online state:OFFLINE

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值