韩顺平0基础学Java——第13天

p264-p284

安装IDEA,熟悉一下软件。

尴尬了,难道是这个版本的idea不支持jdk17,难受住了

成功了,顺便跑一下昨天的作业:

这都要跑2秒?是电脑的问题还是谁的问题?控制台里跑的好快的哦

设置idea皮肤等:0266_韩顺平Java_IDEA使用2_哔哩哔哩_bilibili

在idea中,当我们run一个文件时,会先编译一个.class文件,再运行它。

idea常用快捷键

我用的默认:删除是ctr+y,复制是ctl+d

自动import:alt+enter

查看类的继承:ctr+h

查看方法属于哪个类:ctr+b

自动分配变量名:new Scanner(System.n).var;

模板快捷键:main、fori等等

作用:

1.区分同名的类

2.当类很多的时候,很好的管理类(通过看api文档

3.控制访问范围

基本语法:

pacage com.包名;

包的本质分析:实际上就是创建不同的文件来保存类。

(namespace?)

alt+回车自动导入了!new dog(madake,18).var自动补全加取名了!

命名规则

只能包含数字、字母、下划线、小圆点,但是不能用数字开头,不能是关键字和保留字。

规范:com.公司名.项目名.业务模块名

例:com.sina.crm.user

java常用包

java.lang默认引入

java.util //系统工具,如Scanner

java.net //网络编程用

java.awt //界面开发,gui

包的使用细节

import的区别:

1 import java.util.Scanner;   //引入java.util包里的Scanner

2 import java.util.*   //将所有类都引入

使用第一个更好(需要什么引入什么

package的作用是声明当前类所在的包,需要放在类的最上面,一个类中最多只有一句package

import指令 位置在package的下面,在类定义前面,可以有多句,且没有顺序要求。

访问修饰符

注意事项:1修饰符可以修饰类的属性,成员方法,以及类

2只有默认和public才可以修饰类,并且遵循上述访问权限的特点

3还没学继承,关于子类的访问权限之后再说

4成员方法的访问规则和属性完全一样

例:这个Test和Dog不同包就会这样:意思是标红的不能被访问。

插一嘴,这个idea不和jdk17兼容,所以我卸载了17,安装了8,但是忘了删环境变量,所以一直报错找不到17...以后不要忘了啊

举例2:和Dog类在同一个文件里写的另一个类Cat,都不能访问Dog的n4(private的那个)

就算在Dog类中使用public的方法fun1调用了n4,你也不能在外面通过new一个Dog来使用fun1来访问n4

亲测报错

访问修饰符也可以修饰类,但是只有默认和public可以修饰。

封装

封装就是把抽象出的数据【属性】和对数据的操作【方法】封装在一起,数据被保护在内部,程序的其他部分只有通过被授权的操作【方法】才能对数据进行操作。

封装的好处:

1.隐藏实现细节:方法→调用

2.可以对数据进行验证,保证安全合理

封装的实现步骤

1.将属性进行私有化【不能直接修改属性】

2.提供一个公共的set方法,用于对属性判断并赋值

        例:public void setXXX(类型 参数名){

                        //加入数据验证的业务逻辑

                        属性 = 参数名;

}

3.提供一个公共的get方法,用于获取属性的值

        public void getXXX(){//权限判断

                return xx;

}

封装与构造器

通过构造器新建对象时居然可以不按规定来

因此,我们可以把set方法写在构造器中!

这样每一个set的机制就能生效了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/655484.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

django中,无法跳转到请求的html页面?

出现错误: You’re seeing this error because you have DEBUG True in your Django settings file. Change that to False, and Django will display a standard 404 page. 在urls中,注释了系统的默认配置,这时就需要在setting配置文件中&…

京东面试:SpringBoot同时可以处理多少请求?

面试题大全:www.javacn.site Spring Boot 作为 Java 开发中必备的框架,它为开发者提供了高效且易用的开发工具,所以和它相关的面试题自然也很重要,咱们今天就来看这道经典的面试题:Spring Boot 同时可以处理多少个请求…

17- PHP 开发-个人博客项目TP 框架路由访问安全写法历史漏 洞

常见的php框架:laravel和thinkphp和yii 这里以thinkphp为例 thinkphp目录访问设置 这里只找到了这个3.多的源代码,没找点5.的,凑合一下 链接:GitHub - top-think/thinkphp: ThinkPHP3.2 ——基于PHP5的简单快速的面向对象的PHP…

docker-compose报错

前提条件 1、使用docker-compose之前,一定要安装并且运行Docker 2、拉取镜像之前,一定要配置Docker镜像加速,否则下载特别慢 情况1 docker-compose无法打开 错误信息: cannot open self /usr/local/bin/docker-compose or arch…

轻兔推荐 —— vfox

简介 vfox 是一个跨平台且可扩展的版本管理工具,终于有一个可以管理所有运行环境的工具了 - 支持一键安装 Java、Node.js、Flutter、.Net、Golang、PHP、Python等多种环境 - 支持一键切换不同版本 特点 支持Windows(非WSL)、Linux、macOS! 支持不同项目不同版本、…

力扣63 不同路径Ⅱ Java版本

文章目录 题目描述代码 题目描述 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish”)。 现在考虑网格…

C# WPF编程基础

XAML文件内容 <Window x:Class"Wpf_demo1.MainWindow"xmlns"http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x"http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d"http://schemas.microsoft.com/expression/ble…

LeetCode215数组中第K个最大元素

题目描述 给定整数数组 nums 和整数 k&#xff0c;请返回数组中第 k 个最大的元素。请注意&#xff0c;你需要找的是数组排序后的第 k 个最大的元素&#xff0c;而不是第 k 个不同的元素。你必须设计并实现时间复杂度为 O(n) 的算法解决此问题。 解析 快速排序的思想&#xff…

00Java准备工作

目录 JDK的安装目录 JAVA环境变量的配置 JAVA小知识 JDK的安装目录 目录名称说明bin该路径下存放了JDK的各种工具命令,javac和java就放在这个目录conf该路径下存放了JDK的相关配置文件include该路径下存放了一些平台特定的头文件jmods该路径下存放了JDK的各种模块legal该路…

upload-labs 通关方法

目录 Less-1&#xff08;JS前端验证&#xff09; Less-2&#xff08;MIME验证&#xff09; Less-3&#xff08;黑名单&#xff0c;特殊过滤&#xff09; Less-4&#xff08;黑名单验证&#xff0c;.htaccess&#xff09; Less-5&#xff08;黑名单&#xff0c;点空格点绕过…

深度学习设计模式之组合模式

文章目录 前言一、介绍二、详细分析1.核心组成2.实现步骤3.代码示例4.优缺点优点缺点 5.使用场景 总结 前言 组合模式是将对象组合成树形结构来表现"整体/部分"层次结构&#xff0c;可以更好的实现管理操作。 一、介绍 组合设计模式又叫部分整体模式&#xff0c;将…

集合的创建

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 Python中的集合同数学中的集合概念类似&#xff0c;也是用于保存不重复元素的。它有可变集合&#xff08;set&#xff09;和不可变集合&#xff08;f…

Mongodb 可视化工具Robot 3t安装【windows环境下】

下载应用 打开连接点我 选择windows版本并点击下载 下载完毕&#xff0c;双击并傻瓜安装 连接数据库 点击图标&#xff0c; 点击create创建连接 填写host和port 如果有用户名密码的&#xff0c;在authentication里填写 5. save 并连接即可使用&#xff01;

143.栈和队列:用队列实现栈(力扣)

题目描述 代码解决 class MyStack { public:queue<int> que; // 定义一个队列用于实现栈// 构造函数&#xff0c;初始化队列MyStack() {}// 向栈中推入元素 xvoid push(int x) {que.push(x); // 使用队列的 push 方法将元素 x 添加到队列尾部}// 从栈中弹出并返回栈顶元…

SQL 语言:数据控制

文章目录 概述授权&#xff08;GRANT)销权&#xff08;REVOKE&#xff09;总结 概述 SQL语言中的数据控制权限分配是数据库管理的重要组成部分&#xff0c;它涉及到如何合理地为用户分配对数据库资源的访问和使用权限。 权限类型&#xff1a;在SQL中&#xff0c;权限主要分为…

【C++】list的使用方法和模拟实现

❤️欢迎来到我的博客❤️ 前言 list是可以在常数范围内在任意位置进行插入和删除的序列式容器&#xff0c;并且该容器可以前后双向迭代list的底层是双向链表结构&#xff0c;双向链表中每个元素存储在互不相关的独立节点中&#xff0c;在节点中通过指针指向其前一个元素和后…

双击移动硬盘打不开?原因分析与数据恢复全攻略

在日常生活和工作中&#xff0c;移动硬盘作为数据存储和传输的重要工具&#xff0c;扮演着至关重要的角色。然而&#xff0c;当我们遇到双击移动硬盘无法打开的情况时&#xff0c;往往会感到十分困扰。本文将详细探讨双击移动硬盘打不开的原因&#xff0c;并提供两种有效的数据…

混合A*算法详解(二)路径平滑

描述 上一篇文章混合A*算法详解&#xff08;一&#xff09;路径搜索 路径损失函数使用Voroni势能图 根据之前的文章分析&#xff0c;决定A*路径长度的有两点&#xff1a;路径长度和距离障碍物远近。Voroni图用于权衡这两者。之前我在记录二维点云的阿尔法形状算法时简单介绍过…

AAA实验配置

一、实验目的 掌握AAA本地认证的配置方法 掌握AAA本地授权的配置方法 掌握AAA维护的方法 1.搭建实验拓扑图 2.完成基础配置&#xff1a; 3.使用ping命令测试两台设备的连通性&#xff1a; 二、配置AAA 1.打开R1&#xff1a;配置AAA方案 这两个方框内的可以改名&#xff0c…

linux安装Java报错cannot execute binary file: Exec format error

uname -a 查看自己jdk版本 下载JDK路径Java Archive Downloads - Java SE 17 下载对应的版本jdk jdk-17.0.10_linux-aarch64_bin.tar.gz jdk-17.0.10_linux-x64_bin.tar.gz