JAVA的三大特性:封装、继承、多态

简介: JAVA的三大特性:封装、继承、多态

封装

微信截图_20220414134352.png

package java1;
import java2.Student;//导入需要的包
public class Application {
public static void main(String[] args){
    Student s1=new Student();
    s1.setName("秦疆");
    System.out.println(s1.getName());
}
}
package java2;
    //类  private:私有
    public class Student{
        //属性私有
        private String name;//名字
        private int id;//学号
        private char sex;//性别
        //提供一些可以操作这个属性的方法
        //提供一些public的get、set方法
        //get 获得这个数据
        public String getName(){
            return this.name;
        }
        //set 给这个数据设置值
        public void setName(String name){
            this.name=name;
        }
}

封装的意义

1.提高程序的安全性,保护数据

2.隐藏代码的实现细节

3.统一接口

4.系统可维护增加了

继承微信截图_20220414134606.png

package java1;
//继承
public class A extends B{
    public static void test(){
        System.out.println("A=>test()");
    }
}

执行

注意:如果三者不在一个包中需要导包

package java1;
//在同一个包中就不用导入了import...
public class Application{
public static void main(String[] args){
    Student student=new Student();
    Teacher tt=new Teacher();
    tt.test1();
}
}

父类

package java1;
//在Java中,所有的类,都默认直接或者间接继承object
//Person 人 :父类
//Ctrl+h快捷将查看子类和父类
//public
//protected
//default
//private
public class Person extends Object{
protected String name="kuangshen";
 //私有的东西无法被继承
    public void print(){
        System.out.println("Person");
    }
}

子类

如果调用父类构造器super要放在子类的第一行

package java1;
public class Teacher extends Person {
    private String name="qinjiang";
    public void print(){
        System.out.println("Student");
    }
    public void test1(){
    print();
    this.print();
    super.print();
    }
}

微信截图_20220414134901.png

方法重写

微信截图_20220414135046.png微信截图_20220414135056.png

package java1;
//在同一个包中就不用导入了import...
public class Application{
public static void main(String[] args){
   A a=new A();
    a.test();
    //父类的引用指向了子类
    B b=new A();
    b.test();//B
}
}
package java1;
//继承
public class A extends B{
    public static void test(){
        System.out.println("A=>test()");
    }
}

多态

微信截图_20220414135326.png微信截图_20220414135403.png微信截图_20220414135431.png

如何修改idea默认存储位置

在这个地方连续修改两次即可

微信截图_20220414135633.png


相关文章
|
4天前
|
缓存 运维 Java
Java静态代码块深度剖析:机制、特性与最佳实践
在Java中,静态代码块(或称静态初始化块)是指类中定义的一个或多个`static { ... }`结构。其主要功能在于初始化类级别的数据,例如静态变量的初始化或执行仅需运行一次的初始化逻辑。
23 4
|
1月前
|
安全 Java 开发者
【JAVA】封装多线程原理
Java 中的多线程封装旨在简化使用、提高安全性和增强可维护性。通过抽象和隐藏底层细节,提供简洁接口。常见封装方式包括基于 Runnable 和 Callable 接口的任务封装,以及线程池的封装。Runnable 适用于无返回值任务,Callable 支持有返回值任务。线程池(如 ExecutorService)则用于管理和复用线程,减少性能开销。示例代码展示了如何实现这些封装,使多线程编程更加高效和安全。
|
1月前
|
安全 网络协议 Java
Java网络编程封装
Java网络编程封装原理旨在隐藏底层通信细节,提供简洁、安全的高层接口。通过简化开发、提高安全性和增强可维护性,封装使开发者能更高效地进行网络应用开发。常见的封装层次包括套接字层(如Socket和ServerSocket类),以及更高层次的HTTP请求封装(如RestTemplate)。示例代码展示了如何使用RestTemplate简化HTTP请求的发送与处理,确保代码清晰易维护。
|
2月前
|
Java
Java 面向对象编程的三大法宝:封装、继承与多态
本文介绍了Java面向对象编程中的三大核心概念:封装、继承和多态。
155 15
|
3月前
|
存储 Java 开发者
什么是java的Compact Strings特性,什么情况下使用
Java 9引入了紧凑字符串特性,优化了字符串的内存使用。它通过将字符串从UTF-16字符数组改为字节数组存储,根据内容选择更节省内存的编码方式,通常能节省10%至15%的内存。
|
3月前
|
存储 Java 数据挖掘
Java 8 新特性之 Stream API:函数式编程风格的数据处理范式
Java 8 引入的 Stream API 提供了一种新的数据处理方式,支持函数式编程风格,能够高效、简洁地处理集合数据,实现过滤、映射、聚合等操作。
117 6
|
4月前
|
Java
在Java中,接口之间可以继承吗?
接口继承是一种重要的机制,它允许一个接口从另一个或多个接口继承方法和常量。
353 60
|
4月前
|
分布式计算 Java API
Java 8引入了流处理和函数式编程两大新特性
Java 8引入了流处理和函数式编程两大新特性。流处理提供了一种声明式的数据处理方式,使代码更简洁易读;函数式编程通过Lambda表达式和函数式接口,简化了代码书写,提高了灵活性。此外,Java 8还引入了Optional类、新的日期时间API等,进一步增强了编程能力。这些新特性使开发者能够编写更高效、更清晰的代码。
54 4
|
5月前
|
Java
在Java多线程编程中,实现Runnable接口通常优于继承Thread类
【10月更文挑战第20天】在Java多线程编程中,实现Runnable接口通常优于继承Thread类。原因包括:1) Java只支持单继承,实现接口不受此限制;2) Runnable接口便于代码复用和线程池管理;3) 分离任务与线程,提高灵活性。因此,实现Runnable接口是更佳选择。
104 2

热门文章

最新文章