自学内容网 自学内容网

Java巅峰之路---基础篇---面向对象

目录

面向对象介绍

什么是面向对象编程?

为什么用面向对象编程?

面向对象的重点学习什么?

类和对象

介绍

类的定义

构造方法

作用

格式和特点、执行时机

构造方法注意事项

标准的JavaBean类

定义类的补充注意事项

封装

什么是封装?

封装思想的好处

private关键字

this关键字

有什么作用?

成员变量和局部变量的区别


面向对象介绍

什么是面向对象编程?

面向:拿、找

对象:能干活的东西

面向对象编程:拿东西过来做对应的事情

为什么用面向对象编程?

这种编程更加符合人类思维习惯,编程更简单,更好理解。

面向对象的重点学习什么?

1、学习获取已有对象并使用

2、学习如何自己设计并使用

类和对象

介绍

· 类(设计图):是对象共同特征的描述;

· 对象(能帮我们干活的东西):是真实存在的具体东西。

类的定义

public class 类名{

        1、成员变量(代表属性,一般是名词)

        2、成员方法(代表行为,一般是动词)

        3、构造器

        4、代码块

        5、内部类

}

只含变量与方法的类(简单)

package text;

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

    public void eat(){
        System.out.println("吃东西");
    }
    public void sleep(){
        System.out.println("睡觉");
    }
}
package text;

public class GirlFriendText {
    public static void main(String[] args) {
        GirlFriend gf1 = new GirlFriend();
        gf1.eat();
        gf1.age = 18;
        gf1.name = "小诗诗";
        System.out.println(gf1.age);
        System.out.println(gf1.name);
    }
}

构造方法

作用

· 在创建对象的时候给成员变量进行赋值

格式和特点、执行时机

public class 类名{

        public 类名(参数){方法体;}

}

特点:

· 方法名与类名相同,大小写也要一致

· 没有返回值类型,连void都没有

· 没有具体的返回值(不能由return带回结果数据)

执行时机:

· 创建对象的时候有虚拟机调用,不能手动调用构造方法

· 没创建一次对象,就会调用一次构造方法

构造方法注意事项

1)构造方法的定义

· 如果没有定义构造方法,系统将给出一个默认无参数构造方法

· 如果定义了构造方法,系统将不再提供默认的构造方法

2)构造方法的重载

· 带参构造方法,和无参构造方法,两者方法名相同,但是参数不同,这叫做构造方法的重载。

3)推荐的使用方式

· 无论是否使用,都手动书写无参数构造方法,和带全部参数的构造方法

标准的JavaBean类

1)类名需要见名知意

2)成员变量使用private修饰

3)提供至少两个构造方法

· 无参构造方法

· 带全部参数的构造方法

4)成员方法

· 提供每一个成员变量对应的set和get方法

· 如果还有其他行为,也需要写上

5)快捷键

· alt + insert 或alt + fn + insert

· 安装插件PTG(推荐)

定义类的补充注意事项

· 用来描述一类事物的类,专业叫做:Javabean类。在Javabean类中,是不写main方法的。

· 编写main方法的类,叫做测试类。我们可以在测试类中创建javabean类的对象并进行赋值调用。

·  类名首字母建议大写,需要见名之意,驼峰模式。

· 一个Java文件中可以定义多个class类,且只能一个类是public修饰,而且public修饰的类名必须成为代码文件名。实际开发中建议还是一个文件定义一个class类。

· 成员变量的完整定义格式是:修饰符 数据类型 变量名称 = 初始化;一般无需指定初始化,存在默认值

封装

什么是封装?

· 告诉我们,如何正确设计对象的属性和方法

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

例如:“人画圆”,画圆该行为(方法)是写在圆的类里边的。画圆该行为需要半径才能实现,而半径是圆的属性,所以画圆该行为(方法)是写在圆的类里边的。“人关门”,关门该行为需要门的状态数据(关或者开),所以关门该行为(方法)是写在门的类里边的。

封装思想的好处

 · 让编程变得很简单,有什么事,找对象,调方法就行。

· 降低我们的学习成本,不用记对象有哪些方法,有需要时区API文档找就行

private关键字

· 是一个权限修饰符

· 可以修饰成员(成员变量和成员方法)

· 被private修饰的成员只能在本类中访问

· 如果需要被其他类使用,需要提供相应的set和get方法才行

package text;

public class GirlFriendText {
    public static void main(String[] args) {
        GirlFriend gf1 = new GirlFriend();
        gf1.setName("小诗诗");
        gf1.setAge(-1);
        gf1.setGender("女");

        System.out.println(gf1.getName());
        System.out.println(gf1.getGender());
        System.out.println(gf1.getAge());

        gf1.eat();
        gf1.sleep();
    }
}

 

package text;

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

    //针对每一个私有化的成员变量,都要提供set和get方法
    //set方法:给成员变量赋值
    //get方法:对外提供成员变量的值
    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 eat(){
        System.out.println("吃东西");
    }
    public void sleep(){
        System.out.println("睡觉");
    }
}

this关键字

有什么作用?

 · 可以区别成员变量和局部变量

成员变量和局部变量的区别

 · 成员变量:类中方法外的变量

 · 局部变量:方法中的变量,形参

 


原文地址:https://blog.csdn.net/2301_76909842/article/details/140277027

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!