day_04

--暑假第四天学习--

一.匿名对象

匿名对象:没有引用类型变量指向的对象称作为匿名对象。

 

匿名对象要注意的事项:

 1. 我们一般不会给匿名对象赋予属性值,因为永远无法获取到。
 2. 两个匿名对象永远都不可能是同一个对象。

 

匿名对象好处:简化书写。

 

匿名对象的应用场景:


 1. 如果一个对象需要调用一个方法一次的时候,而调用完这个方法之后,该对象就不再使用了,这时候可以使用
 匿名对象。
 
 2. 可以作为实参调用一个函数。

eg:

//学生类
class Student{
    
    int num; //学号

    String name; //名字
    
    public void study(){
        System.out.println("好好学习,为将来成为高帅富做准备!");
    }
}

class Demo1{

    public static void main(String[] args) 
    {

        new Student().study();

    }
}

 

二.面向对象三大特征

 1. 封装
 2. 继承
 3  多态

封装

权限修饰符:权限修饰符就是控制变量可见范围的。
public :  公共的。 public修饰的成员变量或者方法任何人都可以直接访问。
private : 私有的, private修饰的成员变量或者方法只能在本类中进行直接访问。

封装的步骤:
 1. 使用private修饰需要被封装的属性。
 2. 提供一个公共的方法设置或者获取该私有的成员属性。

    命名规范:
    set属性名();
    get属性名();
 
疑问: 封装一定要提供get或者set方法吗?
  不一定, 根据需求而定的。
 
规范 : 在现实开发中一般实体类的所有成员属性(成员变量)都要封装起来。
 
实体类:实体类就是用于描述一类 事物的就称作为实体类。
 
封装的好处:
 1. 提高数据的安全性。
 2. 操作简单。
 3. 隐藏了实现。
 
eg:
class Member{
    
    public    String name; //名字

    private    String sex; //性别

    public    int salary; //薪水


    //定义一个公共的方法设置sex属性
    public void setSex(String s){
        if (s.equals("男")||s.equals("女")){ //注意: 如果比较两个字符串的内容是否一致,不要使用==比较, 使用equals方法。
            sex = s;
        }else{
            //默认是男
            sex = "男";
        }
    }

    //定义一个公共的方法获取sex属性
    public String getSex(){
        return sex;
    }

    //聊天
    public void talk(){
        System.out.println(name+"聊得非常开心");
    }
}

class Demo{

    public static void main(String[] args) 
    {
        Member m = new Member();
        m.name="狗娃";
        m.setSex("女");
        m.salary  = 800;
        System.out.println("姓名:"+ m.name+" 性别:"+ m.getSex()+" 薪水:"+ m.salary);
    }
}

 

posted @ 2018-07-20 20:18  seduce_bug  阅读(108)  评论(0编辑  收藏  举报