首页 > 编程语言 >【Java基础】基础知识

【Java基础】基础知识

时间:2022-08-21 15:44:13浏览次数:100  
标签:Java 内部 int class 基础 private 基础知识 接口 public

基础

数据类型

值类型

  • 数值型
    • 整数类型(byte,short,int,long)
    • 浮点类型(float,double)
  • 字符型(char)
  • 布尔型(boolean)

引用类型

  • 类(class)
  • 接口(interface)
  • 数组([])

访问修饰符

  • private: 在同一类内可见。使用对象:变量、方法
  • default(即什么都不写): 在同一包内可见
  • protected: 对同一包内的类和所有子类可见
  • public: 对所有类可见

关键字

  • goto

goto 是 Java 中的保留字,在目前版本的 Java 中没有使用。

  • final

用于修饰类、属性和方法

  • 被final修饰的类不可以被继承
  • 被final修饰的方法不可以被重写
  • 被final修饰的变量不可以被改变
  • 被final修饰不可变的是变量的引用, 不可变是引用,不是内容
  • this

this是自身的一个对象

  • super

指向父类指针


面向对象

  • 三大特性
    • 封装

    隐藏对象的属性和实现细节,仅对外提供公共访问方式

    • 继承

    继承是使用已存在的类的定义作为基础建立新类的技术,新类的定义可以 增加新的数据或新的功
    能,也可以用父类的功能,但不能选择性地继承父类。通过使用继承可以提高代码复用性。

    • 多态

    父类或接口定义的引用变量可以指向子类或具体实现类的实例对象。提 高了程序的拓展性
    在Java中有两种形式可以实现多态

    • 继承(多个子类对同一方法的重写)
    • 接口(实现接口并覆盖接口中同一方法)

  • 五大基本原则
    1. 单一职责原则
    2. 对拓展开放,对修改封闭
    3. 里式替换原则
    4. 依赖倒置原则
    5. 接口分离原则

类与接口

抽象类和接口的对比

参数 抽象类 接口
声明 abstract interface
实现 子类使用extends继承 子类使用implements关键字来实现
构造器 可以有构造器 不能有构造器
修饰符 任意访问修饰符 public
多继承 一个类最多只能继承一个抽象类 一个类可以实现多个接口
字段声明 任意 static 和 final

内部类

  • 静态内部类
public class Outer {
    private string name;
    private static int radius = 1;

    public static class StaticInner {
        public int getRedius() {
            return radius;
        }
    }
}

静态内部类可以访问外部类所有的静态变量,而不可访问外部类的非静态变量

  • 成员内部类
public class Outer {
    private string name;
    private static int radius = 1;

    public class StaticInner {
        public int getRedius() {
            return radius;
        }
    }
}

成员内部类可以访问外部类所有的变量和方法,包括静态和非静态,私有和公有

  • 局部内部类
public class Outer {
    private string name;
    private static int radius = 1;

    public void execute() {
        public class Inner {

        }
        Inner inner = new Inner();
    }
}

定义在实例方法中的局部类可以访问外部类的所有变量和方法,定义在静态方法 中的局部类只能访问外
部类的静态变量和方法

  • 匿名内部类
public class Outer {
    private string name;
    private static int radius = 1;

    public void execute() {
        new Service() {
            public void method() {

            }
        }.method();
    }
}

匿名内部类就是没有名字的内部类。

内部类的优点

  • 一个内部类对象可以访问创建它的外部类对象的内容,包括私有数据!
  • 内部类不为同一包的其他类所见,具有很好的封装性;
  • 内部类有效实现了“多重继承”,优化 java 单继承的缺陷。
  • 匿名内部类可以很方便的定义回调。

内部类有哪些应用场景

  1. 一些多算法场合
  2. 解决一些非面向对象的语句块。
  3. 适当使用内部类,使得代码更加灵活和富有扩展性。
  4. 当某个类除了它的外部类,不再被其他的类使用时。

引用

https://github.com/WilsonPan/java-developer

标签:Java,内部,int,class,基础,private,基础知识,接口,public
From: https://www.cnblogs.com/WilsonPan/p/16609764.html

相关文章

  • 【Java面试】并发编程高频面试题,请你说一下你对Happens-Before的理解
    “请你说一下你对Happens-Before的理解”你听到这个问题的时候,知道怎么回答吗?大家好,我是Mic,一个工作了14年的Java程序员。并发编程是面试过程中重点考察的方向,能够考察......
  • Java中try()用法
    JDK1.7优化后的try-with-resource语句,写在()里面的流对象对应的类都实现了自动关闭接口AutoCloseabletry (创建流对象语句,如果多个,使用';'隔开){    //读写数据......
  • RabbitMQ 入门系列:2、基础含义理解:链接、通道、队列、交换机
    系列目录RabbitMQ入门系列:1、MQ的应用场景的选择与RabbitMQ安装。RabbitMQ入门系列:2、基础含义:链接、通道、队列、交换机。RabbitMQ入门系列:3、基础含义:持久化、......
  • java多线程
    一、定义很多人应该对进程,线程,程序这几个概念混淆.程序指什么?简而言之,程序就是代码,用不同语言编写的代码;什么是进程?进程就是表示程序一次完整的执行;线程指的是,在......
  • Java学习 (25) 对象篇(05)抽象类&接口
    目录抽象类语法实例注意点具体讲解视频(狂神说Java)接口语法实例具体讲解视频(狂神说Java)抽象类abstract修饰符可以用来修饰方法也可以修饰类,如果修饰方法,那么该方法就是......
  • Java学习第一天
    在有C/C++基础的前提下,进行Java学习。 参考教程:https://www.bilibili.com/video/BV18V411W7oc?p=9&share_source=copy_web 垃圾收集GarbageCollection:Java有自动......
  • JAVA对象与JSON转换的各种方法-fastjson
    1<!--https://mvnrepository.com/artifact/com.alibaba/fastjson-->2<dependency>3<groupId>com.alibaba</groupId>4<artifactId>fastjson</artifactId>......
  • Java基础知识
    注释(comment)单行注释://多行注释:/**/文档注释:/***/,javadoc命令可以抽取每个类,方法的文档注释,生成API文档关键字(keyword)关键字是指在程序中已经有特定含......
  • Java学习 (24) 对象篇(04)static关键字
    目录static关键字语法实例代码块语法实例引用库语法实例static关键字static在类中修饰成员变量,在方法中则修饰成员方法static在属性中叫做静态属性,在方法中叫做静态......
  • JAVA基础--运算符--2022年8月20日
    第一节1、算数运算符有哪些+ - * / %2、/需要注意什么,为什么?两个整数相除,结果一定也是整数,因为最高类型是整数 第二节把数字321拆分成3  2......