java学习总结以及考试总结

1.对象的this引用

this引用用于区分成员变量和局部变量,this引用的一定的指的是成员变量

所以说this语句的作用就是区分成员变量和局部变量(如何呢)

package com.temo.test1;
    public class student{
        private String name;//成员变量
        private int age;

        public student(){

        }

        public student(String name,int age)//构造方法
        {
            this.name=name;
            this.age=age;
        }

        //操作
        public void setName(String name)
        {
            this.name=name;
        }
        public String getName()
        {
            return name;
        }
        public void setAge(int age)
        {
            this.age=age;
        }
        public int getAge(){
            return age;
        }
    }

 2.构造器

[修饰符] 类名 (参数)

这种形式就是构造器,构造器的名字一定要为类名!!!!!

构造器的重载:

带参数构造器和无参数构造器

亮着方法名虽然相同,但是参数名不同,这叫构造方法的重载

public class user {
    private String name;//成员变量
    private String passward;
    private String email;
    private String sex;
    private int age;



    public user() {//无参构造器

    }

    public user(String name, String passward, String email, String sex, int age) {
//有参构造器
        this.name = name;
        this.passward = passward;
        this.email = email;
        this.sex = sex;
        this.age = age;
    }
    //    //操作
//    public void setName(String name){
//        this.name=name;
//    }
//    public String getName(){
//        return name;
//    }


    public String getName() {
        return name;
    }

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

    public String getPassward() {
        return passward;
    }

    public void setPassward(String passward) {
        this.passward = passward;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

}

3.继承

继承的概念


1.继承的定义:

子类继承父类(父亲和孩子的关系)
1.public class 子类 extends 父类{ }
2.Java是一种纯粹的面向对象的语言,声明的所有类默认是继承Object类,它是所有的java类的根
3.Java是单根继承关系(一脉相传),保证纯正的血统
4.子类会拥有父类的一些特征


2.继承关系的特点


1.子类如果实例化,那么父类的构造方法会被先调用
2.子类可以调用父类的public方法,私有方法是不能调用的
3.子类的功能是在继承关系中最强大的

public class Person extends MonkeyMan{
    public Person(){
        System.out.println("人");
    }
    public void clothes(){
        System.out.println("人会穿衣服");
    }
    public void paint(){
        System.out.println("人会画画");
    }
    public static void main(String[] args) {
        Person person = new Person();
        person.walk();
        person.useTools();
    }
}

4.多态

Java中的多态
在Java中,多态是指同一名称的方法可以有多种实现(方法实现是指方法体)。系统根据调用方法的参数或调用方法的对象自动选择某一个具体的方法实现来执行。多态亦是面向对象的核心特征之一。

多态机制使具有不同内部结构的对象可以共享相同的外部接口。这意味着,虽然针对不同对象的具体操作不同,但通过一个公共的类,它们可以通过相同的方式予以调用

package com.codeke.java.test;

/**
 * 动物类
 */
public class Animal {
	// 属性
	private String type;    // 类型
	private String breed;   // 品种
	private String name;    // 名称

	/**
	 * 构造函数(明确知道类型、品种、名称)
	 * @param type  类型
	 * @param breed 品种
	 * @param name  名称
	 */
	public Animal(String type, String breed, String name) {
		this.type = type;
		this.breed = breed;
		this.name = name;
	}

	/**
	 * 构造函数(只知道类型和名称,但是品种未知)
	 * @param type  类型
	 * @param name  名称
	 */
	public Animal(String type, String name) {
		this.type = type;
		this.name = name;
		this.breed = "未知";
	}

	/**
	 * 构造函数(只知道名称,但是类型和品种都未知)
	 * @param name  名称
	 */
	public Animal(String name) {
		this.name = name;
		this.type = "未知";
		this.breed = "未知";
	}
}

5.每日一题

小黑的鸡脚plus

这题是一道动态规划类的题目,但是有些隐晦,其实写多了就好想了,我们首先定义dp数组的含义,dp[i][j]指的是在前i个数,用了j次翻转机会,得到的完美串数,然后就写出动态转移方程即可

dp[i][j]=dp[i-1][j];
if(i>=d)
{
ans=sum[i]-sum[i-d];
if(j>=ans)
{
dp[i][j]=max(dp[i][j],dp[i-d][j-ans]+1);
}
}

AC代码

#include <iostream>
#include <cstring>
using namespace std;
int t,k,d;
char s[2005];
int sum[2005];
int dp[2005][105];
long long ans;
int main()
{
	cin>>t;
	while(t--)
	{
		memset(sum,0,sizeof(sum));
		memset(dp,0,sizeof(dp));
		cin>>k>>d;
		cin>>s;
		int n=strlen(s);
		for(int i=1;i<=n;i++)
		{
			if(s[i]=='0')
			{
				sum[i]=sum[i-1]+1;
			}
			else
			sum[i]=sum[i-1];
		}
		for(int i=1;i<=n;i++)
		{
			for(int j=0;j<=k;j++)
			{
				dp[i][j]=dp[i-1][j];
				if(i>=d)
				{
					ans=sum[i]-sum[i-d];
					if(j>=ans)
				    {
				    	dp[i][j]=max(dp[i][j],dp[i-d][j-ans]+1);
					}
				}
			}
		}
		printf("%d\n",dp[n][k]);
	}
	return 0;
}

6.学习计划

4.1日将进行抽象类,以及接口的学习,了解抽象类的作用以及抽象方法,深入了解接口的继承与使用,

4.2日将进行内部类的学习和lambda表达式,了解非静态和静态的内部列,任何学会使用,以及能够运用局部内部类,然后labda表达式进行与函数式接口的结合,了解到lambda表达式调用Arrays的、类方法,同时也将进行枚举类的学习(如果课程很多,则将在4.3日内继续进行学习)

4.3日就是对象与垃圾回收,以及JAR文件学习,同时初步认识java基础类库

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

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

相关文章

Optimizer神经网络中各种优化器介绍

1. SGD 1.1 batch-GD 每次更新使用全部的样本&#xff0c;注意会对所有的样本取均值&#xff0c;这样每次更新的速度慢。计算量大。 1.2 SGD 每次随机取一个样本。这样更新速度更快。SGD算法在于每次只去拟合一个训练样本&#xff0c;这使得在梯度下降过程中不需去用所有训…

OpenEuler华为欧拉系统安装教程及联网配置

OpenEuler简介 openEuler是一款开源操作系统。当前openEuler内核源于Linux&#xff0c;支持鲲鹏及其它多种处理器&#xff0c;能够充分释放计算芯片的潜能&#xff0c;是由全球开源贡献者构建的高效、稳定、安全的开源操作系统&#xff0c;适用于数据库、大数据、云计算、人工智…

【Laravel】07 快速套用一个网站模板

【Laravel】07 快速套用一个网站模板 1. 新增post表2.补充 &#xff1a;生成Model、Controller、迁移文件3. 使用php artisan tinker4. 网站模板下载 课程地址 1. 新增post表 在Model中创建Post (base) ➜ example-app php artisan make:model Post Model created successfu…

力扣 1035. 不相交的线

题目来源&#xff1a;https://leetcode.cn/problems/uncrossed-lines/description/ C题解&#xff1a;经过细细一推导&#xff0c;就发现跟力扣 1143. 最长公共子序列-CSDN博客 换汤不换药。 直线不能相交&#xff0c;说明元素顺序不能改变&#xff0c;求可以绘制的最大连线数…

相机显示储存卡未格式化怎么回事?怎么办

在摄影的学习和实践中&#xff0c;相机是我们记录美好瞬间的得力助手。然而&#xff0c;当相机突然提示储存卡未格式化时&#xff0c;这往往会让我们感到困惑和焦虑。本文将探讨相机显示储存卡未格式化的可能原因&#xff0c;并提供相应的解决方案。 图片来源于网络&#xff0c…

游戏引擎中的大气和云的渲染

一、大气 首先和光线追踪类似&#xff0c;大气渲染也有类似的渲染公式&#xff0c;在实际处理中也有类似 Blinn-Phong的拟合模型。关键参数是当前点到天顶的角度和到太阳的角度 二、大气散射理论 光和介质的接触&#xff1a; Absorption 吸收Out-scattering 散射Emission …

汇编语言第四版-王爽第1章 基础知识

前言 基础知识 &#xff08;1&#xff09;换成bit&#xff0c;1KB1024B&#xff0c;1Byte8bit&#xff1b;1KB1024*8bit&#xff0c;即2的13次方&#xff0c;宽度为13. &#xff08;2&#xff09;1个存储单元只能放1个字节&#xff0c;1KB1024B&#xff1b;编号从0到1023. &a…

web前端面试题----->VUE

Vue的数据双向绑定是通过Vue的响应式系统实现的。具体原理&#xff1a; 1. Vue会在初始化时对数据对象进行遍历&#xff0c;使用Object.defineProperty方法将每个属性转化为getter、setter。这样在访问或修改数据时&#xff0c;Vue能够监听到数据的变化。 2. 当数据发生变化时…

书生 浦语大模型全链路开源体系

通用大模型成为发展通用人工智能的重要途径 书生 浦语大模型的开源历程 书生 浦语 2.0体系&#xff0c;面向不同的使用需求&#xff0c;每个规格包含三个模型版本&#xff0c;&#xff08;7B、20B&#xff09;InternLM2-Base、InternLM2、InternLM2-Chat。 大模型是回归语言建…

python通过shapely 的 valid 判断aoi图形是否有效

测试aoi坐标&#xff1a; 116.527712,39.924304;116.527123,39.924353;116.52707,39.923985;116.527685,39.92397;116.527712,39.924304 如图所示是一个有效的坐标&#xff0c;使用python代码判断是否有效&#xff1a; 代码&#xff1a; from shapely.geometry import Polyg…

数字孪生|山海鲸可视化快速入门

哈喽,你好啊,我是雷工! 今天继续学习山海鲸可视化软件,以下为学习记录。 (一)新建项目 1.1、打开软件后,默认打开我的项目界面,初次打开需要注册,可以通过手机号快速注册。 点击“新建”按钮,新建一个项目。 1.2、根据项目需要选择一个快捷的项目模板,填写项目名称…

C语言 | Leetcode C语言题解之第1题两数之和

题目&#xff1a; 题解&#xff1a; int* twoSum(int* nums, int numsSize, int target, int* returnSize) {for (int i 0; i < numsSize; i) {for (int j i 1; j < numsSize; j) {if (nums[i] nums[j] target) {int* ret malloc(sizeof(int) * 2);ret[0] i, ret…

【Qt 学习笔记】Day1 | Qt 背景介绍

博客主页&#xff1a;Duck Bro 博客主页系列专栏&#xff1a;Qt 专栏关注博主&#xff0c;后期持续更新系列文章如果有错误感谢请大家批评指出&#xff0c;及时修改感谢大家点赞&#x1f44d;收藏⭐评论✍ Day1 | Qt 背景介绍 文章编号&#xff1a;Qt 学习笔记 / 01 文章目录…

C语言程序与设计——复杂结构

结构体 结构体在C语言中是一种重要的数据类型&#xff0c;或者说是一种用户自定义的相同或不同数据类型的集合。可以帮助我们封装一组相关数据&#xff0c;使其数据呈现更直观。例如我们想要统计一个学校学生的基本信息。可以将一个同学的信息按照如下存储。 typedef struct …

结构化绑定optional(C++基础)

结构化绑定 处理多个返回值的操作&#xff1a;C17提出 之前多返回值喜欢用struct来返回。现在会做成元组&#xff0c;下图中设置C17的版本&#xff0c;不要设置错为C语言标准。 #include<iostream> #include<string> #include<tuple> std::pair<std::st…

【跟着CHATGPT学习硬件外设 | 02】GPIO

文章目录 &#x1f680; 概念揭秘快速入门关键精华 &#x1f31f; 秒懂案例生活类比实战演练步骤1&#xff1a;硬件配置步骤2&#xff1a;软件配置步骤3&#xff1a;发送和接收数据步骤4&#xff1a;处理异常步骤5&#xff1a;优化操作手册硬件设计注意事项配置攻略准备阶段配置…

Docker配置Mysql

1.首页搜索mysql镜像 2.选择对应版本的MySQL&#xff0c;点击pull 3.pull完成以后&#xff0c;点击images&#xff0c;这里可以看到刚刚pull完成的mysql版本 4.打开命令界面&#xff0c;运行命令 docker images ,查看当前已经pull的images 5.运行命令设置mysql docker run -it…

OSCP靶场--Kyoto

OSCP靶场–Kyoto 考点(缓冲区溢出GPO滥用提权) 1.nmap扫描 ## ┌──(root㉿kali)-[~/Desktop] └─# nmap 192.168.216.31 -sV -sC -Pn --min-rate 2500 -p- Starting Nmap 7.92 ( https://nmap.org ) at 2024-03-31 08:08 EDT Nmap scan report for 192.168.216.31 Host …

14 - grace数据处理 - 泄露误差改正 - 空域滤波法(Mascon法)

@[TOC](grace数据处理 - 泄露误差改正 - 空域滤波法(Mascon法)) 空域法的基本思想是假设地面某区域的质量变化是由一系列位置已知、质量未知的质量块(小范围区域)引起的,那么将GRACE反演的结果归算到n个质量块上的过程就是泄露信号恢复的过程。个人理解是这样的:假定已知研…

Multi-task Lung Nodule Detection in Chest Radiographs with a Dual Head Network

全局头增强真的有用吗&#xff1f; 辅助信息 作者未提供代码