JSD2212班第二次串讲-面向对象阶段

news2024/11/19 17:29:12

1. 概述

系统介绍一下接下来阶段要学习的内容:
1.JAVA:
1.1 java语言基础
1.2 java面向对象阶段(很重要!起的承上启下!!)
1.3 API阶段(Application Interface )学会看字典 提供好的工具:String、Date、Scanner

1.4 网络编程阶段

2.web阶段
2.1 html、css、js(前端3剑客)
2.2 前端进阶:elementUI(快速搭建网页)、前端框架Vue(国人出品:尤雨溪)
2.3 数据库(重点!!)
2.4 数据库框架:Mybatis
主流三大框架(SSM):S:Spring、SpringBoot、Mybatis
2.5 数据库和java如何进行联系:JDBC(Java Database Collection)

3.Spring阶段(打通任督二脉)
3.1 SpringMVC(分层架构,遵循开发规则)
3.2 SpringAOP
3.2 SpringIOC
3.3 Vue和Spring如何联系(页面和java如何联系)
3.4项目:酷鲨商城、京淘项目
3.5 如何部署项目(上线)输入一个网址能够访问你的页面
3.6 Linux系统(稳定,Windows系统一直不关机会卡!!宕机,收费!!!)
达到企业用人的最低标准

4.微服务、大数据

2. 面向对象阶段复习

2.1 补充:

运算符/成员变量/局部变量串讲:

package cn.tedu.basic;

public class Test1 {
    public int a;
    public static void main(String[] args) {
        //运算符
        //  >>(二进制) ??
        //怎么算  面试题 8 除 2 的效率是最快的
        //计算机 位运算是最快的   1000   0100  15 >> 1   1111  0111=7
//        System.out.println(8 /2 );
//        System.out.println(8 >> 1);
//        System.out.println(15 >> 1);

        //  & |
        //1 & 2   true| false   C语言:0代表假 非0数代表真
        // 1: 0001
        // 2: 0010
        // 3  0000
//        System.out.println(1 | 2);
//        System.out.println(1 & 2);

        //成员变量和局部变量的区别???
        //1.位置:成员变量:类里方法外   局部变量:方法内
        //2.特征: 默认值:整形 0  浮点型 0.0 字符型:空字符\u0000  局部变量有默认值吗???
        // 拓展???
        //修饰符角度    成员变量可以被权限修饰符修饰符???
        //局部变量不允许使用权限修饰符 public int b = 0;//错
        //权限修饰符:public protected 默认 private
        //3.使用范围:成员变量可以被本类中的所有方法使用  局部只能被方法使用

        int c;  //局部变量没有默认值 使用时必须初始化!!!
//        System.out.println(c);
    }
}

2.数组、对象的内存

package cn.tedu.basic;

public class Test2 {
    public static void main(String[] args) {
        /*
        int[] arr1 = new int[]{1,2,3};
        int[] arr2 = arr1;    // 里面{1,2,3}

        arr2[1] = 10;    //  2换成10
        //问 arr1[1] =?
        System.out.println(arr1[1]);
        */
        //升级 我谈对象
//        Person p = new Person();
//        p.name = "张飞";
//        Person p2 = p;
//        change(p2);
//        System.out.println(p.name);  //实参  问:现在结果是什么 p.name = null

        //值传递/值拷贝    基本类型     传的是值
        // 引用传递  引用类型:String   传的是地址
        int a = 10;
        int b = a;
        b = 20;
        System.out.println(a);
    }

    public static void change(Person a){  //做了形参的操作  会不会影响实参
        a.name = null;
    }
}
class Person{
    String name;
}

在这里插入图片描述
在这里插入图片描述

3.方法(可变类型参数、重载)

package cn.tedu.basic;

public class Test2 {
    public static void main(String[] args) {
        //方法的重载:在同一个类中  方法名相同 参数列表不同的现象   : 方法的签名:方法名+参数列表
        //自己做一个功能
        //我想要模拟System.out.println()方法,
        // 可以打印int 类型 double 类型 char 类型 方法名:print
        System.out.println(print(1));
        //问重载的好处是什么????
        //使程序的拓展性变强
        //提高了代码的复用性 ??? 方法 一次书写 到处使用

        //可变参数类型???
        //需求是打印2个整数的和??
        System.out.println();
        //需求是打印3个整数的和??
        //需求是打印4个整数的和??
        //可变参数类型    数量是不确定的!!!
        //为什么
        //看三国演义  
        //诸葛亮北伐
        //凡兵法韬略  说透了  术是表 道才是根本  你要是悟透了这个道理 比你学上千种阵法还要重要
        // 解决有多个相同参数 但是又不想重复书写参数的问题
        //补充:细节   一个参数列表可以有几个可变类型   只能有一个
        //2 .必须放在参数列表的最后
        int res = sum(1, 1, 1);
        System.out.println(res);
    }

    public static int sum(int...data){  //可变参数类型  底层就是一个数组 data是一个数组
        int sum = 0;
        for (int i = 0;i < data.length;i++){
            sum+=data[i];
        }
        return sum;
    }



    public static int  print(int data){  //int 类型
        return data;
    }

    public static double  print(double data){  //double 类型
        return data;
    }

    public static char  print(char data){  //double 类型
        return data;
    }
}

2.2 面向对象

术是表 道才是根本

2.2.1 类

类是实际生活中事物的一种抽象??/模板、图纸
动物:猫、狗、鸟……
class 类名{}

2.2.2 对象

类的具体实现(物象化、实例化)
new 类名

2.2.3 构造方法

语法:
1.方法名和类名相同
2.无返回值类型
3.权限修饰符
4.可以重载

道???
为什么使用?诞生的意义是什么

完成对象的初始化(赋值)

现实生活:
手机:恢复出厂设置:打电话、发短信

使用时机
创建对象的时候

构造代码块:
语法:{} 位置:类里方法外
作用:提取构造方法的共性 {打电话、发短信}

加载时机:比构造方法快

例子:
public Phone(){

}

public Phone(int a){

}

疑问:假如发生了继承关系,请说明:子类的构造方法、代码块、父类的构造方法
执行顺序:父类的构造方法 > 构造代码块 >构造方法

package cn.tedu.basic;

public class Test3 {
    public static void main(String[] args) {
        new Dog();
    }
}
class Animal{
    public Animal(){
        System.out.println("我是父类的构造方法");
    }
}
class Dog extends Animal{

    public Dog(){
        System.out.println("我是子类的构造方法");
    }

    {
        System.out.println("我是子类的构造代码块");
    }
}

2.2.4 代码块

静态代码块、构造代码块、局部代码块
局部代码块:
语法:{} 位置 类里方法内
道(作用):控制变量的作用范围

问:变量的作用范围,一般来说越小越好
局部变量只能在方法内

静态代码块
语法:static {} 位置:类里方法外
作用:从加载时机考虑,当我的资源需要第一时间被程序读取,并且只读取1次,考虑使用静态代码块

2.2.5 this/super

this
是什么:指代当前对象(谁new 就是谁)???
this可以应用的领域:
可以变量、方法(构造方法、普通方法)、不行类(没有)

为什么要使用this:当我的变量名发生冲突时(名字一模一样) ,java会采取就近原则,但是我自己想要指定使用本类的变量,this应运而生

package cn.tedu.basic;

public class Test5 {
    public static void main(String[] args) {

    }
}
class Student{
    String name;
    String no;   //学号   201911310107

    public Student() {

    }

    public Student(String name, String no) { //起名字的难度大了 形参叫什么名字 成员变量叫什么名字 很累
        //this();  //只能在构造方法内调构造方法   为什么有这个功能???业务需要
        //现在的需求  因为形参和成员变量方法名重复了,如果不使用this默认会使用就近原则
        //问:我不想使用this,又想使用成员变量   
        /*
        Student this = new Student();
        this.name = name;
        
        Fu super = new Fu();
        super.xx
         */
        this.name = name;
        this.no = no;

    }

    /*public Student(String name,String no){
            this.name = name;
            this.no = no;
        }*/
    public void testThis(){

        name = "张飞";//变量功能只有两个操作 1.打印 2.赋值
        a();

    }
    public void a(){

    }
}

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Spring Cloud @RefreshScope 原理分析:代理类的创建

背景 前面我们知道&#xff0c;被 RefreshScope 注解的实例&#xff0c;在扫描生成 BeanDefiniton 时&#xff0c;被偷龙转凤了&#xff1a;注册了两个 Bean 定义&#xff0c;一个 beanName 同名、类型是 LockedScopedProxyFactoryBean.class 代理工厂 Bean&#xff0c;一个 s…

6-Java中新建一个文件、目录、路径

文章目录前言1-文件、目录、路径2-在当前路径下创建一个文件3-在当前路径下创建一个文件夹&#xff08;目录&#xff09;3.1 测试1-路径已经存在3.2 测试2-路径不存在3.2 创建不存在的路径并新建文件3.3 删除已存在的文件并新建4-总结前言 学习Java中如何新建文件、目录、路径…

ASE40N50SH-ASEMI高压MOS管ASE40N50SH

编辑-Z ASE40N50SH在TO-247封装里的静态漏极源导通电阻&#xff08;RDS(ON)&#xff09;为100mΩ&#xff0c;是一款N沟道高压MOS管。ASE40N50SH的最大脉冲正向电流ISM为160A&#xff0c;零栅极电压漏极电流(IDSS)为1uA&#xff0c;其工作时耐温度范围为-55~150摄氏度。ASE40N…

【架构师】零基础到精通——架构发展

博客昵称&#xff1a;架构师Cool 最喜欢的座右铭&#xff1a;一以贯之的努力&#xff0c;不得懈怠的人生。 作者简介&#xff1a;一名Coder&#xff0c;软件设计师/鸿蒙高级工程师认证&#xff0c;在备战高级架构师/系统分析师&#xff0c;欢迎关注小弟&#xff01; 博主小留言…

PHP - ChatGpt API 接入 ,代码,亲测!(最简单!)

由于最近ChatGpt 大火&#xff0c;但是门槛来说是对于大家最头疼的环节&#xff0c; 我自己也先开发了一个个人小程序&#xff01;大家可以访问使用下&#xff0c; 由此ChatGpt 有一个API 可以仅供大伙对接 让我来说下资质&#xff1a; 1&#xff1a;首先要搞得到一个 ChatGp…

HttpRunner接口自动化测试框架--常见问题

本篇文章主要总结在使用httprunner框架做接口自动化测试过程中遇到的问题 官方的问题总结&#xff1a;Issues httprunner/httprunner GitHub 1.在参数化过程中读取CSV文件&#xff0c;不能读取出整型来。 读取下方文件数据&#xff0c;全部是字符串格式 原因&#xff1a;c…

操作系统(复试准备)

操作系统&#xff08;复试准备&#xff09; 第一章知识点 操作系统概述 操作系统的概念 负责协调软硬件等计算机资源的工作 为上层用户&#xff0c;应用程序提供简单易用的接口 是一种系统软件 操作系统的功能与目标 资源的管理者 处理机管理&#xff0c;存储器管理&#x…

Linux 基础知识:指令与shell

目录一、操作系统二、指令三、shell一、操作系统 什么是操作系统&#xff1f; 单纯的操作系统应该是指操作系统内核。内核的作用就是管理计算机的软硬件资源&#xff0c;让计算机在合适的时候干合适的事情。 但是有一个问题&#xff0c;并不是人人都会直接通过内核来操作计算机…

异常信息记录入库

方案介绍 将异常信息放在日志里面&#xff0c;如果磁盘定期清理&#xff0c;会导致很久之前的日志丢失&#xff0c;因此考虑将日志中的异常信息存在表里&#xff0c;方便后期查看定位问题。 由于项目是基于SpringBoot构架的&#xff0c;所以采用AdviceControllerExceptionHand…

【跟着ChatGPT学深度学习】ChatGPT带我入门深度学习

❤️觉得内容不错的话&#xff0c;欢迎点赞收藏加关注&#x1f60a;&#x1f60a;&#x1f60a;&#xff0c;后续会继续输入更多优质内容❤️&#x1f449;有问题欢迎大家加关注私戳或者评论&#xff08;包括但不限于NLP算法相关&#xff0c;linux学习相关&#xff0c;读研读博…

树与二叉树与森林的相关性质

文章目录树的度树的性质二叉树的性质二叉树与森林树的度 树的度指的是树内所有节点的度数的最大值。 节点的度&#xff1a;节点所拥有的子树的数量。简单来说&#xff0c;我们直接数分支即可&#xff0c;例如下图&#xff1a; 在这颗二叉树中&#xff0c;节点2的度为2&#…

【Java】Synchronized锁原理和优化

一、synchronized介绍 synchronized中文意思是同步&#xff0c;也称之为”同步锁“。 synchronized的作用是保证在同一时刻&#xff0c; 被修饰的代码块或方法只会有一个线程执行&#xff0c;以达到保证并发安全的效果。 synchronized是Java中解决并发问题的一种最常用的方法…

K3S系列文章-使用AutoK3s在腾讯云上安装高可用K3S集群

开篇 《K3s 系列文章》《Rancher 系列文章》 方案 在腾讯云上安装 K3S 后续会在这套 K3S 集群上安装 Rancher 方案目标 高可用3 台master 的 k3s 集群 数据备份k3s 数据备份到 腾讯云对象存储 cos 尽量复用公有云的能力Tencent Cloud Controller Manager (❌ 因为腾讯云已…

【LINUX】环境变量以及main函数的参数

文章目录前言环境变量常见环境变量&#xff1a;设置环境变量&#xff1a;和环境变量相关的命令&#xff1a;环境变量的组织方式&#xff1a;获取环境变量环境变量可以被子进程继承环境变量总结main函数的参数前言 大家好久不见&#xff0c;今天分享的内容是环境变量和main函数…

JUC并发编程与源码分析笔记09-原子类操作之十八罗汉增强

基本类型原子类 AtomicInteger、AtomicBoolean、AtomicLong。 常用API&#xff1a; public final int get();// 获取当前的值 public final int getAndSet(int newValue);// 获取当前值&#xff0c;并设置新值 public final int getAndIncrement();// 获取当前的值&#xff0…

2.25Maven的安装与配置

一.Mavenmaven是一个Java世界中,非常知名的"工程管理工具"/构建工具"核心功能:1.管理依赖在进行一个A 操作之前,要先进行一个B操作.依赖有的时候是很复杂的,而且是嵌套的2.构建/编译(也是在调用jdk)3. 打包把java代码给构建成jar或者warjar就是一个特殊的压缩包…

【基础算法】二分例题(我在哪?)

&#x1f339;作者:云小逸 &#x1f4dd;个人主页:云小逸的主页 &#x1f4dd;Github:云小逸的Github &#x1f91f;motto:要敢于一个人默默的面对自己&#xff0c;强大自己才是核心。不要等到什么都没有了&#xff0c;才下定决心去做。种一颗树&#xff0c;最好的时间是十年前…

元宇宙+教育,正在引发哪些剧烈变革?机会在哪里?丨圆桌实录

图片来源&#xff1a;由无界AI绘画工具生成2月23日&#xff0c;温州元宇宙创新中心为2023年第一批申请入驻的项目企业举办了签约仪式。温州临境网络科技有限公司、温州好玩文化产业有限公司、温州云兮科技有限公司&#xff08;筹&#xff09;等企业完成签约。这意味着&#xff…

Spring 事务管理详解及使用

✅作者简介&#xff1a;2022年博客新星 第八。热爱国学的Java后端开发者&#xff0c;修心和技术同步精进。 &#x1f34e;个人主页&#xff1a;Java Fans的博客 &#x1f34a;个人信条&#xff1a;不迁怒&#xff0c;不贰过。小知识&#xff0c;大智慧。 &#x1f49e;当前专栏…

Vue模态框的封装

一、模态框1、模态框&#xff1a;若对话框不关闭&#xff0c;不能操作其父窗口2、非模态框&#xff1a;对话框不关闭&#xff0c;可以操作其窗口二、Vue组件实现模态框的功能1、模态框是一个子组件2、显示和隐藏由父组件决定3、对话框的标题也是由父组件传递的4、对话框的主显示…