java面向对象---类和对象,构造函数

今日内容

  • 面向对象思想

  • 类与对象

  • private和this关键字

  • 构造方法

一、面向对象的思想

面向对象是一种基于面向过程的编程思想

面向过程:
    强调的是执行过程
面向对象
    强调的是对象,它把过程交给了对象去完成

面向对象举例:

二、类与对象的关系

面向对象思想,其就是在模拟现实中的事物

1.现实中如何描述事物
    属性:事物的基本信息
    行为:事物具备的能力

2.Java如何描述事物
    Java类           事物
        成员变量        属性
        成员方法        行为

3.类与对象的关系
    类:用来描述事物的
    对象:是类的一个具体体现

    举例:模具是一个类,根据模具造出来的东西就是对象

4.定义类和创建对象
    定义学生类:
        学生的属性:姓名,年龄
        学生的行为:吃饭,睡觉
    public class Student{
        //成员变量
        String name;
        int age;
        //成员方法
        public void eat(){
            System.out.println("吃饭");
        }
        public void sleep(){
            System.out.println("睡觉");
        }
    }
    public class StudentTest{
        public static void main(String[] args){
            //创建对象:类名 对象名=new 类名();
            Student s=new Student();
            //给属性赋值
            s.name="张三";
            s.age=18;
            //输出所有的属性值
            System.out.println("姓名:"+s.name);
            System.out.println("年龄:"+s.age);
            //调用对象的方法
            s.eat();
            s.sleep();
        }
    }

三、private和this关键字

1.private的特点
    private 是一个修饰符,可以修饰成员变量,也可以修饰成员方法
    被private修饰的成员,只能在本来中访问

2.private常见的用法
    1)把类的成员变量用private修饰
    2)对外提供getXxx和setXxx方法,修改或者获取属性值

3.this关键字
    this表示本类对象的引用,当成员变量和局部变量同名时,可以用this区分

举例:
    public class Student{
        //把成员变量私有化
        private String name;
        private int age;

        //提供getXxx和setXxx
        public void setName(String name){
            this.name=name;
        }
        public String getName(){
            return name;
        }

        public void setAge(int age){
            this.age=age;
        }
        public int getAge(){
            return age;
        }
    }

四、构造方法

  • 1.构造方法的理解

    构造方法格式
        public 类名(...){
    
        }
    
    构造方法的作用
        给对象做初始化操作的,一般给成员变量赋值
        (对象一被创建,就需要执行的操作)
    
    构造方法什么时候执行
        new 对象的时候执行
    
    构造方法的注意事项
        a:如果没有写构造方法,系统会有一个默认的空参数构造方法
        b:如果写了构造方法,原来的默认空参数构造方法,就不再提供了
            为了防止报错,自己添加一个空参数构造方法
    
  • 2.代码演示

    //定义学生类
    public class Student{
        //把成员变量私有化
        private String name;
        private int age;
    
        //空构造方法
        public Student(){
    
        }
        //有参数构造方法
        public Student(String name,int age){
            this.name=name;
            this.age=age;
        }
    
        //提供getXxx和setXxx
        public void setName(String name){
            this.name=name;
        }
        public String getName(){
            return name;
        }
    
        public void setAge(int age){
            this.age=age;
        }
        public int getAge(){
            return age;
        }
    }
    
    //在测试类中,创建Student对象
    public class Test{
        public static void main(String[] args){
            Student s=new Student();//调用空参数构造方法,创建对象
            s.setName("张三");//给对象设置姓名
            s.setAge(18);//给对象设置年龄
            System.out.println(s.getName()+","+s.getAge());//张三,18              
    
            Student s2=new Student("李四",20);//调用有参数构造方法,创建对象
            System.out.println(s2.getName()+","+s2.getAge());//李四,20
        }
    }

你可能感兴趣的:(java)