ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

【计算机专业实习】【Java】Day-1

2020-12-29 12:34:23  阅读:170  来源: 互联网

标签:Java java 子类 接口 计算机专业 抽象类 重写 方法 Day



title: JAVA概述
date: 2020-12-28 12:34
author:zox
note:本博客只是上课的课堂笔记不是总结!!!


本文涉及到的安装资源和源代码在文章最后的链接

12月28日:听课内容

14:00–17:00

1、了解 JAVA

  • James Gosling开发的Oak是Java的前身
  • JAVA 版本迭代,目前比较稳定的是Java1.8
  • 方向:J2SE 标准版,J2ME 小型版(嵌入式开发),J2EE 企业版
  • 重要特点:面向对象,开源,跨平台

2、安装 java 环境

  • jdk1.8:java 开发工具包
  • 安装 java 环境

弹窗:是否 安装 jre,(jdk 已包含 jre 所以不用再安装)

  • 进入安装好的JDK所在文件夹查看

bin:所有的可执行文件
lib:Java 相关依赖包
jre:java 运行环境(包含 JVM)

  • 配置环境变量(系统变量)jdk 的 bin 目录

目的:java 在计算机的任意目录都可以运行!
测试是否配置成功:打开cmd 命令行测试输入 java -version

  • 入门程序:hello world

首先声明一个类 class,主函数 Demo.java
编译+运行 两个阶段
编译 javac Demo.java 得到 Demo.class 字节码文件
运行 java Demo 运行

3、安装 IDEA

  • 步骤一:打开 IDEA文件➡️选择软件安装目录➡️选择 64 位➡️install 安装
  • 步骤二:双击打开➡️我接受➡️dont cent ➡️主题选择➡️激活➡️第二个选项➡️不要解压直接把压缩包拖进去
  • 步骤三:创建第一个 java 工程➡️new project ➡️Add jdk ➡️设置 工程名,工程路径➡️得到java工程

src:存放 java 文件源码
要对源码进行分类建立 package,格式[com.name.分类类别]

  • File 的 setting 设置 font等其他设置

声明类 class
快捷键psvm 生成主函数

4、面向对象知识

  • 方法

方法的级别:static 的方法可以直接在主函数中调用,否则实例方法,则需要创建对象
一个需求,一个功能,一个方法
方法重载:允许方法名相同、但参数列表不同

  • 强制转换

java 支持基本数据类型的强制转换,如果是引用数据类型则需要是"父子关系"

5、类与对象、封装

对象

  • 类的实例化

类默认继承 Object 类:@Override:是子类重写父类方法的标识

  • 属性

所有的属性都制定 get、set 方法
快捷键 Alt+Insert+getter 和 setter+选中所有+Enter

  • 构造方法

名称与类名保持一致
无参数的构造方法:默认有,但只要写了别的任何构造方法都需要重写无参构造方法,默认的会被覆盖
有参数的构造方法
快捷键Alt+Insert+Constructor+选择+Enter

  • toString 方法

快捷键Alt+Insert+toString+选择+Enter’
将所有属性连成字符串输出

  • 对象、变量及其内存分布

堆、栈、方法区
内存地址:全局的唯一标识
变量:开辟空间,存在栈内存中,无论是基本数据类型还是引用数据类型
new student():即 student1 的实例是在堆中开辟的空间,通过引用数据类型的 student1 指向;

6、垃圾回收机制

java 自动回收占用的空间(和 c 不同)

18:00-21:00

7、继承

语法:extends 类名
可以将父类所有的属性和方法都继承下来(除私有)
子类可以重写父类的方法,super
java不支持多继承(后面会讲的接口可以)
“重写和重载的区别”

8、多态

  • [1]向下转型

父类的引用可以指向子类的对象
例如:Animal animal = new Cat();
类型强制转换的时候,引用的部分和接收的部分必须一致,否则在运行的时候会报接收异常

  • [2]向上转型

某个对象的引用视为对其子类的引用,编译对象是子类,运行对象是父类

  • 实例:主人喂养宠物

创建对象:主人、猫、狗
主人的方法:喂养(重载)
猫、狗:吃东西
现在还想喂养兔子、等其他动物:添加新的兔子类
如果当前项目已经成型,还想修改新的的话,就要使用多态使得代码不需要一直修改!!!
增加一个"宠物类",所有动物继承这个类,即每个动物的 eat 都是重写父类的 eat 方法
而对于主人类的 feed 方法不需要重载新的,只需要一个就可以了!!!
再添加新的动物也是一样!!!

9、接口

  • 抽象类

作用:只能用来被继承
格式:abstract
abstract 和 private(因为 abstract1 方法是 public 的)、final(final 定义的方法不能被继承) 冲突
抽象类可以有普通方法,也可以有抽象方法
抽象类不能实例化对象
抽象方法:也用 abstract 修饰,没有方法体,只能存在于抽象类中
当子类继承了抽象类,抽象类中的抽象方法必须被子类重写
[问题]:一个类没有抽象方法可不可以定义为抽象类,如果可以,有什么意义?
不可以对这个类实例化对象,可以定义一些普通方法供使用,意义不大!

  • 接口

接口是一个特殊的抽象类,接口中的方法必须都是公共的抽象方法,没有方法体
新建一个接口,使用 public interface 类名
接口中定义方法,则 public abstract 可以省略
接口中不允许有变量的存在

  • 接口的实现

implements 接口类似于继承
必须将接口中的所有抽象类重写
快捷键:在报错时,鼠标放在红色的位置,按下Alt+Enter

  • 声明常量

用 final static 关键字修饰
被 final 修饰的常量、方法都不能被重写赋值或重写
例如:public final static String USER_NAME =“张三”;

  • 实例:要学会接口和多态结合使用的场景

person 人类,人类有接收消息的方法,QQ、微信、Email 等,将接收到的消息打印在控制台。
通过接口和多态设计一个程序
分析设计
对象:人、QQ、微信、Email
Person 的方法:接收消息
Message:信息接口,子类包括 3 个,重写 Message 的接收信息的方法
Test:测试

10、异常处理机制

  • 运行时异常
    定义 : RuntimeException及其子类都被称为运行时异常。
    特点 : Java编译器不会检查它。 也就是说,当程序中可能出现这类异常时,倘若既"没有通过throws声明抛出它",也"没有用。try-catch语句捕获它",还是会编译通过。
  • 被检查的异常
    定义 : Exception类本身,以及Exception的子类中除了"运行时异常"之外的其它子类都属于被检查异常。
    特点 : Java编译器会检查它。 此类异常,要么通过throws进行声明抛出,要么通过try-catch进行捕获处理,否则不能通过编
    译。
  • 错误
    定义 : Error类及其子类。
    特点 : 和运行时异常一样,编译器也不会对错误进行检查。

[第一次作业:创建一个登录框,使用servlet 和 jsp]

链接:Day-1的相关资源
提取码:9492

标签:Java,java,子类,接口,计算机专业,抽象类,重写,方法,Day
来源: https://blog.csdn.net/qq_41315788/article/details/111885515

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有