ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

13.oop面向对象

2022-04-29 17:00:06  阅读:196  来源: 互联网

标签:13 name int age 面向对象 void oop public String


1.构造器

package oop.demo_2;

public class Person {
    String name;
    int age;
    //无参构造器
    //1.实例化初始化
    //2.使用new关键词,本质是在调用构造器
    public Person() {
        this.name = "wangs";

    }
    //有参构造; 如果定义了有参构造,那么必须定义无参构造
    //重载
    public Person(String name){
        this.name = name;
    }

    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }
}

package oop.demo_2;

public class demo02 {
    public static void main(String[] args) {
        //new实例化一个对象
        Person person = new Person("w",22);
        //如果有参,那么调用有参构造器的对象,
        //如果无参,那么调用无参构造器的对象。
        System.out.println(person.age);
    }
}

  • 构造器:
  • 1.和类名相同
  • 2.没有返回值
  • 作用:
  • 1.本质在调用构造方法
  • 2.初始化对象的值
  • 注意点:
  • 1.定义有参构造之后,如果想使用无参构造,显示定义一个无参的构造。
  • this. 当前类 = 构造器相关的东西

2.私有、获取、赋值

private、get、set

package oop.demo_3;

public class Student {

   //private属性私有
    //创建属性
   private String name;
   private int age;
   private int id;
   private String sex;

    //提供一些可以操作这个属性的方法
    //提供一些public使用的方法 get、set

    //使用get获得这个数据
    public String getNanme(){//获取姓名
        return name;
    }

    public int getAge() {//获取年龄
        return age;
    }

    public int getId() {//获取ID
        return id;
    }

    public String getSex() {//获取性别
        return sex;
    }


    //使用set给这个数据赋值
    //给姓名赋值 并打印
    public void setName(String name) {
        this.name = name;  //将上面的 数据传过来
        System.out.println(name);
    }
    //给年龄赋值 并打印
    public void setAge(int age) {
        if (age < 100 && age > 0){
            this.age = age;
            System.out.println(age);
        }
        else {
            System.out.println("输入错误");
        }
    }
    //给ID赋值 并打印
    public void setId(int id) {
        this.id = id;
        System.out.println(id);
    }
    //给性别赋值 并打印
    public void setSex(String sex) {
        this.sex = sex;
        System.out.println(sex);
    }
}

package oop.demo_3;

public class demo {
    public static void main(String[] args) {
        //调用各个方法的 值
        Student student = new Student();
        student.setName("王松");
        student.setAge(10);
        student.setId(1);
        student.setSex("男");
    }
}

3.继承 extends

package oop.demo_4;
//父类 人
//所有的类都默认继承:extends object;
public class person {
    //extends继承
    //public 共有的
    //protected 受保护的
    //default 默认的
    //private 私有的
    //Ctrl+H 打开继承树

    //父项人有1亿块钱
    private int money = 10_000_0000;

    public  void say(){
        System.out.println("说了一句话");
    }
    //因为是私有有,所以需要获取
    public int getMoney() {
        return money;
    }
    //获取完成后,需要赋值
    public void setMoney(int money) {
        this.money = money;
        System.out.println(money);
    }
}

package oop.demo_4;
//学生继承人
public class stduent extends person {

}

package oop.demo_4;
//老师继承人
public class teacher extends person{

}

package oop.demo_4;

public class test {
    public static void main(String[] args) {
        
        stduent stduent = new stduent();//创建一个学生对象
        stduent.say(); //虽然学生类下没有方法,但是继承了人的方法,所以可以打印;
        
        teacher teacher = new teacher();//创建一个老师对象
        teacher.setMoney(1);//调用方法,继承父项的钱

        System.out.println(stduent.getMoney());//继承父项的钱并打印
    }
}

image

image

image

标签:13,name,int,age,面向对象,void,oop,public,String
来源: https://www.cnblogs.com/stion123/p/16207264.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有