对象、方法和类,以及private和this关键字

对象

1.面向对象思想:把步骤和功能进行封装,封装时根据不同的功能,进行不同的封装,功能类似的封装在一起,用的时候找不同的类就ok了。
2.特点:
a:是一种更符合我们思想习惯的思想
b:可以将复杂的事情简单化
c:将我们从执行者变成了指挥者,角色发生了转换
3.特征
封装(encapsulation)、继承(inheritance)、多态(polymorphism)
4:类和对象的概念
a:类:是一组相关的属性和行为的集合
b:对象:是该类事物的具体体现
例:
类 猫科动物
对象 猫咪就是一个对象
属性——成员变量
行为——成员方法
5:创建对象
格式:类名 对象名 = new 类名( );
6.使用成员变量
格式:对象名.变量名
7:使用成员方法
格式:对象名.方法名( )
8.方法
含义:玩成特定功能的代码块
格式:
修饰符 返回值类型 方法名(参数类型 参数名1,参数类型,参数名2,…){
方法体;
return 返回值;
}
方法重载:在同一个 类中,允许出现多个同名方法,只要他们的参数个数不同,参数类型不同即可
`
成员变量与局部变量
成员变量
1.在类中方法外;
2.在堆内存;
3.随着对象的创建而存在,消失而消失;
4.有默认初始化值;
局部变量:
1.在方法中或方法生命上;
2.在栈内存;
3.随着方法的调用而存在,结束而消失;
4.没有默认初始化值,必须定义
java参数传递问题
基本类型:形式参数的改变不影响实际参数
引用类型:形式参数的改变直接影响实际参数
如果发现一个方法的参数是类名(引用类型),这里需要的是该类的对象。
匿名对象
含义:没有名字的对象。new( );
应用:
1:调用方法,仅仅只调用一次的时候;
2:匿名对象可以作为实际参数传递。
封装
含义:隐藏对象的属性和实现细节,仅对外提供公共访问方式。
优点:提高代码复用性,安全性,提供公共的访问方式。
原则:将不想对外提供的内容隐藏,把属性隐藏,提供公共访问方式。
private关键字
特点:
1:是一个权限修饰符
2:可以修饰成员变量和成员方法
3:被其修饰的成员只能在本类中被访问

应用:
1.把成员变量用private修饰
2.提供对应的getXxx()和setXxx()方法

this关键字
意义:解决局部变量和成员变量相同时,局部变量隐藏了成员变量的问题。
特点:代表当前类的一个对象,谁调用这个方法,那么该方法的内部的this就代表谁。

**手机类的使用及测试**
package com.xuexi.cn;

public class phone {
    private String name;
    private int price;
    private char color;

    public phone() {
    }

    public phone(String name, int price, char color) {
        this.name = name;
        this.price = price;
        this.color = color;
    }

    public void setName(String name) {
        this.name = name;
    }

    public void setPrice(int price) {
        this.price = price;
    }

    public void setColor(char color) {
        this.color = color;
    }

    public String getName() {
        return name;
    }

    public int getPrice() {
        return price;
    }

    public char getColor() {
        return color;
    }


    public void chat(){
        System.out.println("聊天");
    }
    public void buy(){
        System.out.println("购物");
    }
    public void watch(){
        System.out.println("看视频");
    }
}
测试
package com.xuexi.cn;

public class test {
    public static void main(String[] args) {
        phone t=new phone();
        t.setName("小米");
        t.setPrice(1299);
        t.setColor('黑');
        System.out.println(t.getName());
        System.out.println(t.getPrice());
        System.out.println(t.getColor());
        t.chat();
        t.buy();
        t.watch();
        System.out.println("-------------------------");
        phone t1=new phone("华为",1999,'银');
        System.out.println(t1.getName());
        System.out.println(t1.getPrice());
        System.out.println(t1.getColor());
        t1.chat();
        t1.buy();
        t1.watch();
    }
}

你可能感兴趣的:(学习,编程,java)