当前位置: 首页 > news >正文

java基础知识点全集

JAVA的所有知识点

  • 一、基础的数组、数据类型、输入输出
  • 二、类与对象
    • 1. 三大特征
      • (1) 封装
      • (2)继承
      • (3)多态
    • 2. 类的实例化
      • (1) 类通过NEW来创建
      • (2) 类的继承
      • (3)类的封装

一、基础的数组、数据类型、输入输出

这些可以看看其他的,过于基础

二、类与对象

1. 三大特征

(1) 封装

通过private、default、protected、public关键字实现属性或方法的封装,仅对外提供公共访问方式

例如,定义一个Strudent对象,为了提供对外访问方式则使用get set方法
定义一个Strudent类

package com.itheima.springboottest;public class Strudent {private String Username;public String getUsername() {return Username;}public void setUsername(String username) {Username = username;}
}

这个strudent的类中,Username是私有的,直接使用会报错,通过公共的get set方法可以提供给其他类进行使用
定义一个Test类进行调用获取strudent

package com.itheima.springboottest;public class Test {public static void main(String[] args){Strudent  student = new Strudent();student.setUsername("zhangyuan");String username = student.getUsername();System.out.println(username);}
}

运行Test类可以获得名字:zhangyuan的结果如图
在这里插入图片描述
这就是一种封装

(2)继承

extends

(3)多态

  • 一个对象变量可以指向多种实际类型对象的现象称为:“多态”
  • 三个必要条件:继承、方法的重写、父类引用指向子类对象
  • Java中多态的实现方式:接口实现,继承父类进行方法重写,同一个类中进行方法重载,父类引用指向子类对象

2. 类的实例化

(1) 类通过NEW来创建

  1. 创建一个类
    类的定义格式
[修饰符] class 类名 [extends 父类名] [implements 接口名]{//类体,包括类的成员变量和成员方法}
  1. 创建一个已有类的实例
Strudent  student = new Strudent();

(2) 类的继承

  1. 默认继承object
  2. 类的继承格式
class 父类{}
class 子类 extends 父类{}

例如定义一个父类parents


public class Parents {private int age;public int getAge() {return age;}public void setAge(int age) {this.age = age;}public Parents(int age) {this.age = age;}public Parents() {}public void myPrint(){System.out.println("我是父类的myprint方法");}

定义一个子类去继承父类的公有属性
package com.itheima.springboottest;

public class Son extends Parents{
public static void main(String[] args) {
Son son = new Son();
// son.age=3; 子类只能有父类公有的属性,私有属性没有
son.myPrint();
}

}

在这里插入图片描述

  1. 重写父类方法
    使用与父类中方法一模一样方法名
    Son.java
package com.itheima.springboottest;public class Son extends Parents{public static void main(String[] args) {Son son = new Son();
//        son.age=3;  子类只能有父类公有的属性,私有属性没有son.myPrint();}@Override # 这是在springboot框架中指明子类重写父类方法的注解public void myPrint() {System.out.println("我是子类重写父类myprint方法");}
}

在这里插入图片描述

(3)类的封装

  1. 修改属性的可见性为private
  2. 创建getter/setter方法用于封装
  3. 在 getter/setter方法中加入属性控制语句
package com.itheima.springboottest;public class Parents {private int age;private int name;public int getAge() {return age;}public void setAge(int age) {this.age = age;}public int getName() {return name;}public void setName(int name) {this.name = name;}public Parents(int age) {this.age = age;}public Parents() {}public void myPrint(){System.out.println("我是父类的myprint方法");}
}

在这里插入图片描述
还可以对setter方法修改
例如:对年龄为0的进行打印
父类

package com.itheima.springboottest;public class Parents {private int age;private int name;public int getAge() {return age;}public void setAge(int age) {if (age <= 0){System.out.println("年龄不符合要求");}else {this.age = age;}}public int getName() {return name;}public void setName(int name) {this.name = name;}public Parents(int age) {this.age = age;}public Parents() {}public void myPrint(){System.out.println("我是父类的myprint方法");}
}

子类

package com.itheima.springboottest;public class Son extends Parents{@Overridepublic void myPrint() {System.out.println("我是子类重写父类myprint方法");}public void printAge(Son son){System.out.println(son.getAge());}public static void main(String[] args) {Son son = new Son();
//        son.age=3;  子类只能有父类公有的属性,私有属性没有son.myPrint();son.setAge(0);son.printAge(son);}
}

在这里插入图片描述

相关文章:

java基础知识点全集

JAVA的所有知识点 一、基础的数组、数据类型、输入输出二、类与对象1. 三大特征&#xff08;1&#xff09; 封装&#xff08;2&#xff09;继承&#xff08;3&#xff09;多态 2. 类的实例化&#xff08;1&#xff09; 类通过NEW来创建&#xff08;2&#xff09; 类的继承&…...

如何完成域名解析验证

一&#xff1a;什么是DNS解析&#xff1a; DNS解析是互联网上将人类可读的域名&#xff08;如www.example.com&#xff09;转换为计算机可识别的IP地址&#xff08;如192.0.2.1&#xff09;的过程&#xff0c;大致遵循以下步骤&#xff1a; 查询本地缓存&#xff1a;当用户尝…...

2024年6月个人工作生活总结

title: 2024年6月个人工作生活总结 urlname: code-for-2024-06 tags: 代码积累知识总结 categories:我的程序代码 date: 2024-06-30 00:00:00 photos:gallery/tech/c2.jpg 本文为 2024年6月工作生活总结。 研发编码 编码和注释 因某些需要&#xff0c;重拾了2019年的工程代码…...

Json与Java类

简介 JSON&#xff08;JavaScript Object Notation&#xff09;是一种轻量级的数据交换格式&#xff0c;易于人阅读和编写&#xff0c;同时也易于机器解析和生成。JSON数据由键值对构成&#xff0c;并以易于阅读的文本形式展现&#xff0c;支持数组、对象、字符串、数字、布尔值…...

动手学深度学习(Pytorch版)代码实践 -计算机视觉-39实战Kaggle比赛:狗的品种识别(ImageNet Dogs)

39实战Kaggle比赛&#xff1a;狗的品种识别&#xff08;ImageNet Dogs&#xff09; 比赛链接&#xff1a;Dog Breed Identification | Kaggle 1.导入包 import torch from torch import nn import collections import math import os import shutil import torchvision from…...

在Linux系统中挂载硬盘

目录 1. 查看硬盘信息 2. 分区硬盘&#xff08;如果硬盘没有分区&#xff09; 3. 格式化分区 4. 创建挂载点 5. 挂载分区 6. 验证挂载 7.设置开机自动挂载&#xff08;可选&#xff09; 1. 查看硬盘信息 lsblk 这个命令会列出所有的块设备&#xff0c;包括硬盘 2.…...

安卓短视频去水印v1.7 简洁好用

各大平台视频无水印提取&#xff0c;登录即永久会员&#xff01; 无水印提取&#xff0c;图片无水印提取 视频旋转&#xff0c;倒放&#xff0c;转gif等功能。 链接&#xff1a;https://pan.baidu.com/s/1UgO4V16ZM34tG5uDog74Pg?pwdcn0u 提取码&#xff1a;cn0u...

【征服数据结构】:期末通关秘籍

【征服数据结构】&#xff1a;期末通关秘籍 &#x1f498; 数据结构的基本概念&#x1f608; 数据结构的基本概念&#x1f608; 逻辑结构和存储结构的区别和联系&#x1f608; 算法及其特性&#x1f608; 简答题 &#x1f498; 线性表&#xff08;链表、单链表&#xff09;&…...

GIT 基于master分支创建hotfix分支的操作

基于master分支创建hotfix分支的操作通常遵循以下步骤&#xff1a; 切换到master分支&#xff1a; 首先&#xff0c;确保你的工作区是最新的&#xff0c;并且你在master分支上。如果不在master分支&#xff0c;你需要先切换过去。 Bash git checkout master 拉取最新的master…...

Vue-CLI脚手架与node.js安装

前言&#xff1a; Vue-CLI 是一个基于 Vue.js 快速开发单页应用的官方脚手架工具&#xff0c;能够帮助开发者快速搭建前端项目的基础结构。在开始使用 Vue-CLI 前&#xff0c;首先需要安装 Node.js&#xff0c;因为 Vue-CLI 是基于 Node.js 构建的。 Node.js 是一个基于 Chrom…...

自适应站长跑路单页网站源码

跑路单页HTML源码自行修改文字就行了,上传到服务器里面运行即可&#xff0c;本地运行的话音乐会加载不出来&#xff0c;涉及到跨域问题 自适应站长跑路单页网站源码...

Java基础(判断和循环)

一、流程控制语句-顺序结构 顺序结构语句是Java程序默认的执行流程&#xff0c;按照代码的先后顺序&#xff0c;从上到下依次执行。 二、流程控制语句-分支结构&#xff08;分支结构包括if、switch) if语句&#xff1a;在程序中用来进行判断 1、If语句的第一种格式&#xf…...

51单片机第12步_使用stdio.h库函数仿真串口通讯

本章介绍如何使用stdio.h库函数仿真串口通讯&#xff0c;学会使用view下面的“serial window #1”,实现模拟串口通讯。 Keil C51中有一些关键字&#xff0c;需要牢记&#xff1a; interrupt0:指定当前函数为外部中断0&#xff1b; interrupt1:指定当前函数为定时器0中断&…...

simulink-esp32开发foc电机

1. ESP32 和 STM32 都是流行的微控制器&#xff0c;但它们的刷写方式有所不同。 ESP32 ESP32 可以通过以下几种方式刷写&#xff1a; USB 下载模式&#xff1a;这是最常见的一种刷写方式。将 ESP32 连接到计算机的 USB 端口&#xff0c;然后将 ESP32 置于下载模式。可以使用…...

Python教程--基本技能

】TOC 5.1 解析命令行参数 在Python中&#xff0c;解析命令行参数是一项常见的任务&#xff0c;尤其是在开发命令行工具或脚本时。Python标准库提供了argparse模块&#xff0c;它可以帮助你轻松地编写用户友好的命令行接口。下面是使用argparse模块解析命令行参数的基本步骤&…...

干货分享:Spring中经常使用的工具类(提示开发效率)

环境&#xff1a;Spring5.3…30 1、资源工具类 ResourceUtils将资源位置解析为文件系统中的文件的实用方法。 读取classpath下文件 File file ResourceUtils.getFile(ResourceUtils.CLASSPATH_URL_PREFIX "logback.xml") ; // ...读取文件系统文件 file Resou…...

一文讲懂npm link

前言 在本地开发npm模块的时候&#xff0c;我们可以使用npm link命令&#xff0c;将npm 模块链接到对应的运行项目中去&#xff0c;方便地对模块进行调试和测试 用法 包链接是一个两步过程&#xff1a; 1.为依赖项创建全局软链npm link。一个符号链接&#xff0c;简称软链&a…...

观成科技:证券行业加密业务安全风险监测与防御技术研究

摘要&#xff1a;解决证券⾏业加密流量威胁问题、加密流量中的应⽤⻛险问题&#xff0c;对若⼲证券⾏业的实际流量内容进⾏调研分析&#xff0c; 分析了证券⾏业加密流量⾯临的合规性⻛险和加密协议及证书本⾝存在的⻛险、以及可能存在的外部加密流量威 胁&#xff0c;并提出防…...

使用Swoole开发高性能的Web爬虫

使用swoole开发高性能的web爬虫 Web爬虫是一种自动化获取网络数据的工具&#xff0c;它可以在互联网上收集数据&#xff0c;并且可以被应用于各种不同的领域&#xff0c;如搜索引擎、数据分析、竞争对手分析等。随着互联网规模和数据量的快速增长&#xff0c;如何开发一个高性…...

【Elasticsearch】Elasticsearch索引创建与管理详解

文章目录 &#x1f4d1;引言一、Elasticsearch 索引的基础概念二、创建索引2.1 使用默认设置创建索引2.2 自定义设置创建索引2.3 创建索引并设置映射 三、索引模板3.1 创建索引模板3.2 使用索引模板创建索引 四、管理索引4.1 查看索引4.2 更新索引设置4.3 删除索引 五、索引别名…...

vscode里如何用git

打开vs终端执行如下&#xff1a; 1 初始化 Git 仓库&#xff08;如果尚未初始化&#xff09; git init 2 添加文件到 Git 仓库 git add . 3 使用 git commit 命令来提交你的更改。确保在提交时加上一个有用的消息。 git commit -m "备注信息" 4 …...

java_网络服务相关_gateway_nacos_feign区别联系

1. spring-cloud-starter-gateway 作用&#xff1a;作为微服务架构的网关&#xff0c;统一入口&#xff0c;处理所有外部请求。 核心能力&#xff1a; 路由转发&#xff08;基于路径、服务名等&#xff09;过滤器&#xff08;鉴权、限流、日志、Header 处理&#xff09;支持负…...

label-studio的使用教程(导入本地路径)

文章目录 1. 准备环境2. 脚本启动2.1 Windows2.2 Linux 3. 安装label-studio机器学习后端3.1 pip安装(推荐)3.2 GitHub仓库安装 4. 后端配置4.1 yolo环境4.2 引入后端模型4.3 修改脚本4.4 启动后端 5. 标注工程5.1 创建工程5.2 配置图片路径5.3 配置工程类型标签5.4 配置模型5.…...

【Redis技术进阶之路】「原理分析系列开篇」分析客户端和服务端网络诵信交互实现(服务端执行命令请求的过程 - 初始化服务器)

服务端执行命令请求的过程 【专栏简介】【技术大纲】【专栏目标】【目标人群】1. Redis爱好者与社区成员2. 后端开发和系统架构师3. 计算机专业的本科生及研究生 初始化服务器1. 初始化服务器状态结构初始化RedisServer变量 2. 加载相关系统配置和用户配置参数定制化配置参数案…...

Objective-C常用命名规范总结

【OC】常用命名规范总结 文章目录 【OC】常用命名规范总结1.类名&#xff08;Class Name)2.协议名&#xff08;Protocol Name)3.方法名&#xff08;Method Name)4.属性名&#xff08;Property Name&#xff09;5.局部变量/实例变量&#xff08;Local / Instance Variables&…...

Auto-Coder使用GPT-4o完成:在用TabPFN这个模型构建一个预测未来3天涨跌的分类任务

通过akshare库&#xff0c;获取股票数据&#xff0c;并生成TabPFN这个模型 可以识别、处理的格式&#xff0c;写一个完整的预处理示例&#xff0c;并构建一个预测未来 3 天股价涨跌的分类任务 用TabPFN这个模型构建一个预测未来 3 天股价涨跌的分类任务&#xff0c;进行预测并输…...

【ROS】Nav2源码之nav2_behavior_tree-行为树节点列表

1、行为树节点分类 在 Nav2(Navigation2)的行为树框架中,行为树节点插件按照功能分为 Action(动作节点)、Condition(条件节点)、Control(控制节点) 和 Decorator(装饰节点) 四类。 1.1 动作节点 Action 执行具体的机器人操作或任务,直接与硬件、传感器或外部系统…...

华为OD机试-食堂供餐-二分法

import java.util.Arrays; import java.util.Scanner;public class DemoTest3 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseint a in.nextIn…...

OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别

OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别 直接训练提示词嵌入向量的核心区别 您提到的代码: prompt_embedding = initial_embedding.clone().requires_grad_(True) optimizer = torch.optim.Adam([prompt_embedding...

SpringCloudGateway 自定义局部过滤器

场景&#xff1a; 将所有请求转化为同一路径请求&#xff08;方便穿网配置&#xff09;在请求头内标识原来路径&#xff0c;然后在将请求分发给不同服务 AllToOneGatewayFilterFactory import lombok.Getter; import lombok.Setter; import lombok.extern.slf4j.Slf4j; impor…...