【面向对象-学习笔记】

设计对象并使用

类和对象

类:是对象共同特征的描述
对象:是真实存在的具体实例
在Java中,必须先设计类,才能获得对象

如何定义类
public class 类名{
1.成员变量//属性.只定义.不给值
2.成员方法//行为
3.构造器
4.代码块
5.内部类
}

如何得到类的对象
类名 对象名 = new 类名();
Phone p = new Phone();

如何使用对象
访问属性:对象名.成员变量
访问行为:对象名.方法名(…)

补充
1.用来描述一类事物的类,专业叫javabean类.在javabean类中,是不写main方法的
2.编写main方法的类,叫做测试类.
我们可以在测试类中创建javabean类的对象进行赋值调用
3.类名首字母建议大写,需要见名知意,驼峰模式.
4.一个Java文件中可以定义多个class类,且只能一个类是public 修饰,并且public修饰的类型必须成为代码文件名
实际开发中,一个java文件建议定义一个class类
5.成员变量的完整定义格式是:修饰符 数据类型 变量名称 = 初始化值;一般无需指定初始化值,存在默认值.
在这里插入图片描述

封装

对象代表什么,就得封装对应的数据,并提供数据对应的行为

private关键字
1.是一个权限修饰符
2.可以修饰成员(成员变量和成员方法)
3.被private修饰的成员只能在本类中才能访问
4.private修饰的成员变量如果需要被其他类使用,提供相应的操作
5.提供"setXxx(参数)"方法,用于给成员变量赋值,方法用public修饰
6.提供"getXxx()"方法,用于获取成员变量的值,方法用public修饰

package com.hh.itheima.test2;

public class GirlFriend {
    private String name;
    private int age;
    private String gender;

    public void setName(String n){
        name = n;
    }
    public String getName(){
        return name;
    }

    public void setAge(int a){
        if(a >= 18 && a <=50){
            age = a;
        }else{
            System.out.println("错误");
        }
    }
    public int getAge(){
        return age;
    }

    public void setGender(String g){
        gender = g;
    }
    public String getGender(){
        return gender;
    }

    public void sleep(){
        System.out.println("在睡觉");
    }
    public void eat(){
        System.out.println("在吃饭");
    }
}

就近原则和this关键字

成员变量和局部变量
成员变量:定义在类的里面,方法的外面
局部变量:定义在类的里面,方法的里面

就近原则
在这里插入图片描述
this关键字
可以区别成员变量和局部变量

构造方法

构造方法也叫构造器.构造函数
作用:创建对象的时候给成员变量进行赋值.

public class Student{
	修饰符 类名(参数){
		方法体;
	}
}

特点
1.方法名与类名相同,大小写也要一致
2.没有返回值类型,连void都没有
3.没有具体的返回值(不能由return带回结果数据)
4.在创建对象的时候由虚拟机自动调用,不能手动调用构造方法
5.每创建一次对象,就会调用一次构造方法
6.如果没有写任何构造方法,虚拟机会构造一个空参的构造方法

注意事项
1.构造方法的定义
如果没有定义构造方法,系统将给出一个默认的无参数构造方法
如果定义了构造方法,系统将再提供默认的构造方法
2.构造方法的重载
带参构造方法和无参数构造方法,两者方法名相同,但是参数不同,这叫做构造方法的重载
3.推荐的使用方式
无论是否使用,都手动书写无参数构造方法,和带全部参数的构造方法

标准JavaBean

1.类名需要见名知意
2.成员变量使用private修饰
3.提供至少两个构造方法:无参构造方法和带全部参数的构造方法
4.成员方法:提供每个成员变量对应的setXxx()/getXxx()如果还有其他行为,也需要写上

插件
1.t子->File->Settings->Plugins->Marketplace->ptg->ok
右键点击空白处ptg to javabean
2.alt+insert->Constructor生成构造方法
alt+insert->Getter and Setter生成方法
3.ctrl+d复制当前行到下一行

在这里插入图片描述

综合练习

输出语句
souf
第一部分参数,要输出的内容%s(占位);第二部分参数,填充的数据System.out.println("你好啊%s","嘿嘿");
键盘录入
遇到空格.制表符.回车就停止接收,这些符号后面的数据就不会接收了.会给后面的接收
nextInt();接收整数
nextDouble();接收小数
next();接收字符串

可以接收空格.制表符,遇到回车停止接收(暂时不用)
nextLine():接收字符串

键盘录入的两套体系不能混用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值