java基础一(总览全局)

声明

本文章是本人在bilibili视频的学习笔记,视频地址清华大学java语言49讲(郑莉教授)


面向对象思想

#将客观事物看做是有状态行为的对象,通过抽象找出同一类对象的共同状态和行为

面向对象给软件发展的好处
1.可重用性(可以高频率使用的类库)
2.可靠性(基于规范的重用模块(包)

结构体里没函数


面向对象基本特征

#抽象和封装
#继承
#多态

抽象出需要的特征(学生成绩系统我不理你圆脸瓜子脸,只需要你的学号,姓名)

程序设计也是一门艺术

投影仪里面是什么东西我不需要知道,我只需要通过外面的接口去使用就行了(你只需要操作遥控器就能实现功能)
— —— —— —
继承和多态是复用而设计的机制

如果只支持类,不支持继承和多态,不能称之面向对象语言,只能说基于对象的语言


安全性


java不支持指针
java的内部安全措施

reference操作和c语言指针很像,但是把具体隐藏起来了


内存管理机制
不会内存泄漏(如果一个24h×365不停运行的程序,哪怕有一丁点内存泄漏(没有释放用过的垃圾),垃圾就会占满内存)

平台无关性

一处编写,各处运行
支持多线程


Java与C++区别


1.没有全局变量,可以在类中定义共用,静态的数据成员,实现相同的功能

没有全局变量,没有全局函数,一切都给你包在类里边

2.没有操作符重载
(只好通过写方法实现操作符的功能)


用java写程序,基本必须要用java类库中的类
java类库:预定义的很多基础有用的功能模块
(类库使用可以参考API文档)
(当下载安装jdk时,文档同时被下载)

——————
Java5


增强for循环
泛型(C++也有,类型参数化)
自动装箱拆箱
枚举类型
可变长参数
静态import
注解


跨平台性原理


半编译,半解释

编译链接,才成为可执行程序(平台相关)
每个机器的指令系统不同(二进制指令集不同)

可移植和跨平台不同
移植是需要在新平台重新编译(可能需要稍作修改,修改越少,称移植性越好) 

JVM  虚拟机 
做到跨平台是使用JVM进行解释

JVM是解释执行,翻译一点,执行一点
虚拟机的效率再高也不高于编译

解释执行

Applet局限性


(网络应用程序)
1.在客户端主机的文件系统中读/写受限
2.不能运行客户端主机的任何程序
3.仅能在服务器和客户端之间建立联系

Applet需要内嵌到Html中,一个.class文件

Applet举例
Graphic方法
方法init()
方法paint()

Applet不能随意读写本地磁盘(网络程序随意读写磁盘,中个病毒不要太容易)

Servlet


Servlet用到的包在J2EE的API中能找到,所有的servlet都能实现Servlet接口

Applet增强了浏览器的功能,Servlet增强了服务器的功能
(servletl去查数据库,去计算……)


JSP


JSP是嵌入了Java代码的的HTML


标准输入输出简介


标准输入流  System.in
标准输出流  System.out
例如:System.out.println("Hello world")

国际标准会议,吵架会,标准草稿,多个成员国投票

C语言用的是函数库,java,C++用类库实现输入输出功能
c,c++,java都没有输入输出语句,如果直接在标准中规定,需要太庞大臃肿,实现各种输出你可以自己写类库实现

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值