java类、封装、继承

简介: java类、封装、继承

类与对象:

类是抽象的数据类型,对象是抽象的数据类型的具体化。

使用new 关键字创建对象,默认初始化为null

一个项目只存在一个main方法,用于测试。

类:(同一个类可以产生不同对象)

只有属性和方法

构造方法:

(1)特点:1、必须和类的名字相同;2、必须没有返回类型,也不能写void

(2)作用:1、使用new关键字,本质是调用构造器;2、初始化对象的值

public Stu() {
        this.name = "**";
    }

封装:

1、属性私有,get\set private 私有

2、封装提高了程序的安全性,保护数据;隐藏代码的实现细节;统一接口;可维护性

3、在set里面给一些条件满足情况

 public int getAge() {
        return this.age;
    }
    public void setAge(int age) {
        if(age>0 && age<=100) {
            this.age = age;
        }
        else {
            this.age = 33;
        }
        
    }

继承:

1、extends 扩展,子类是父类的扩展;

2、继承是类与类之间的关系

public class PM {
    public void say() {
        System.out.println("我有一个亿");
    }
   int money = 10000000;
   public void setMoney(int money) {
       this.money = money;
   }
   public int getMoney() {
       return money;
   }
}
    
子类继承父类的所有属性

public class SE extends PM {
    
    
    
}

Java代码详解:

Studnrt类:

package **;

public class Student extends Collegestudent {
    private String name;
    private int age;
    private char sex;
    private String sno;
    //对子类的属性进行封装
    public String getName() {
        return name;
    }

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

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        if(age>0 &&age <=100) {
            this.age = age;
        }
        else {
            this.age = 22;
        }
        
    }

    public char getSex() {
        return sex;
    }

    public void setSex(char sex) {
        this.sex = sex;
    }
    public String getSno() {
        return sno;
    }
    public void setSno(String sno) {
        this.sno = sno;
    } 
}

collegstudent类:

package **;

public class Collegestudent {
    private String school = "******";
    private String college = "******";
    private String grclass = "******";
    //对父类的属性进行封装
    public String getSchool() {
        return school;
    }

    public void setSchool(String school) {
        this.school = school;
    }

    public String getCollege() {
        return college;
    }

    public void setCollege(String college) {
        this.college = college;
    }

    public String getGrclass() {
        return grclass;
    }

    public void setGrclass(String grclass) {
        this.grclass = grclass;
    }
    
}

main类:用于输出:

package **;
public class main {
    public static void main(String[] args) {
        Student ming = new Student();
        ming.setName("**");
        //如果年龄不符合实际的条件,就体现封装的作用
        ming.setAge(32);
        ming.setSex('男');
        ming.setSno("201805050254");
        System.out.println("我的名字是:"+ming.getName()+",我的年龄是:"+ming.getAge()+",我的性别是:"+ming.getSex()+",我的学号是:"+ming.getSno());
        //子类student中没有学校、学院、班级,所以在子类中扩展父类
        System.out.println("我的学校是:"+ming.getSchool()+",我的学院是:"+ming.getCollege()+",我的班级为:"+ming.getGrclass());
    }
}














相关文章
|
2月前
|
Java 编译器 API
Java 密封类:精细化控制继承关系
Java 密封类:精细化控制继承关系
262 83
|
15天前
|
安全 IDE Java
Java记录类型(Record):简化数据载体类
Java记录类型(Record):简化数据载体类
98 0
|
2月前
|
Java API
深入解析Java API中Object类的功能
了解和合理运用 Object类的这些方法,对于编写可靠和高效的Java应用程序至关重要。它们构成了Java对象行为的基础,影响着对象的创建、识别、表达和并发控制。
54 0
|
2月前
|
安全 Java
JAVA:Collections类的shuffle()方法
`Collections.shuffle()` 是 Java 中用于随机打乱列表顺序的工具方法,适用于洗牌、抽奖等场景。该方法直接修改原列表,支持自定义随机数生成器以实现可重现的打乱顺序。使用时需注意其原地修改特性及非线程安全性。
82 0
|
2月前
|
存储 Java 编译器
深入理解Java虚拟机--类文件结构
本内容介绍了Java虚拟机与Class文件的关系及其内部结构。Class文件是一种与语言无关的二进制格式,包含JVM指令集、符号表等信息。无论使用何种语言,只要能生成符合规范的Class文件,即可在JVM上运行。文章详细解析了Class文件的组成,包括魔数、版本号、常量池、访问标志、类索引、字段表、方法表和属性表等,并说明其在Java编译与运行过程中的作用。
|
2月前
|
SQL Java 数据库连接
Java 期末考试救急必备涵盖绝大多数核心考点及五大类经典代码助你过关
本文为Java期末考试复习指南,涵盖基础语法、面向对象编程、异常处理、文件操作、数据库连接五大核心考点,提供详细解析与实用代码示例,助力快速掌握重点,高效备考,轻松应对考试。
62 0
|
Java 开发者
奇迹时刻!探索 Java 多线程的奇幻之旅:Thread 类和 Runnable 接口的惊人对决
【8月更文挑战第13天】Java的多线程特性能显著提升程序性能与响应性。本文通过示例代码详细解析了两种核心实现方式:Thread类与Runnable接口。Thread类适用于简单场景,直接定义线程行为;Runnable接口则更适合复杂的项目结构,尤其在需要继承其他类时,能保持代码的清晰与模块化。理解两者差异有助于开发者在实际应用中做出合理选择,构建高效稳定的多线程程序。
127 7
|
10月前
|
Java 开发者
在 Java 中,一个类可以实现多个接口吗?
这是 Java 面向对象编程的一个重要特性,它提供了极大的灵活性和扩展性。
407 58
|
11月前
|
Java 开发者
在Java多线程编程中,创建线程的方法有两种:继承Thread类和实现Runnable接口
【10月更文挑战第20天】在Java多线程编程中,创建线程的方法有两种:继承Thread类和实现Runnable接口。本文揭示了这两种方式的微妙差异和潜在陷阱,帮助你更好地理解和选择适合项目需求的线程创建方式。
182 3

热门文章

最新文章