首页 > 编程语言 >Java语言基础知识全总结

Java语言基础知识全总结

时间:2023-09-04 13:00:11浏览次数:25  
标签:总结 文件 Java 变量 C++ 基础知识 访问 实例

一.Java的优点

1.      跨平台性。一次编译,到处运行。Java编译器会将Java代码编译成能在JVM上直接运行的字节码文件,C++会将源代码编译成可执行的二进制代码文件,所以C++执行速度快

2.      纯面向对象。Java 所有的代码都必须在类中书写。C++兼具面向对象和面向过程的特点?

3.      Java提供很多内置的类库,例如支撑多线程和GC

4.      Java由JVM自动进行内存分配与回收,c++需要开发人员管理内存。

5.      简洁。去除了C++的指针,多重继承等

6.      Java不支持多继承,但是可以实现多个接口来做到。C++支持多继承

7.      Java不支持运算符重载

8.      Java不支持自动类型转换,必须开发人员显式转换,C++支持自动转换

二、Public static void main(String[] args)解析

1.      Public表示这个方法可以由任何类或对象访问

2.      Static表示全局,static修饰的方法为静态方法,独立于该类的所有实例,可以通过类名访问,不能通过对象名访问,

a)        方法内不能使用this super等关键字。

b)        方法内不能访问实例变量,因为实例变量属于某个具体实例的

c)        Static修饰的静态变量在全局内只有一个拷贝,但是实例变量每创建一个实例就会分配一次内存

d)        Static的特点:

                        i.             对共享数据单独空间存储,节省空间

                      ii.             可以直接通过类名调用

                     iii.             缺点:生命周期过长,且静态方法内只能访问静态变量,访问局限性。

3.      void表示可以没有return

4.      main()表示入口方法

三、一个Java文件是否可以有多个类?

1.      一个Java文件可以包含多个类

2.      但是! public访问权限的类只能有一个且必须与文件名同名

3.      如果文件中没有public访问权限,那么文件名是任意名字都可以。

4.      Javac编译时会对每一个类、包括内部类生成一个单独的class文件

标签:总结,文件,Java,变量,C++,基础知识,访问,实例
From: https://www.cnblogs.com/sutcok/p/17676745.html

相关文章

  • Java元注解
    工作过程中遇到以下需求:校验某些类的某些字符串属性的长度。由于不想对所有的类和属性进行枚举检查,因此,我想通过在类上添加自定义注解的方式过滤出这些类以及属性。故学习一下Java的元注解。Java元注解这里需要说一下Java的内置注解,因为Java里有几个针对注解的注解,即元注解。@......
  • Java 20 maven项目基本配置
     pom.xml<?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://ma......
  • Java 快速排序
    思路通过一趟排序将无序数组划分成独立的两部分,其中一部分的所有元素比另外一部分的所有元素都要小,然后再按此方法对这两部分元素分别进行快速排序,整个排序过程可以递归进行,以此达到整个无序数组变成有序数组的目的。快速排序主要分为以下步骤:从无序数组中取出一个元素作为基......
  • Java 二分查找
    思路问题描述:在采用顺序存储结构的有序数组中,查找目标元素,如果目标元素存在,返回对应的数组下标。假设查找的有序数组为升序,二分查找采用以下的思路进行解决:将数组中间位置的元素与目标元素比较,如果二者相等,则查找成功;否则,从中间位置将数组分为前、后两个数组;如果中间位置......
  • Java 归并排序
    思路数组排序主要分为两个部分:划分数组和归并排序。划分数组:将待排序的无序数组分为左右两个部分,如果无序数组的起始元素下标为first,最后一个元素的下标为last,那么左右两部分之间的临界点下标mid=(first+last)/2,这两部分分别是arr[first…mid]和arr[mid+1…last];将上......
  • Java 堆排序
    思路从最后的非叶子节点开始,从后向前构建一个堆(大顶堆/小顶堆);即最后的非叶子节点和其下的叶子节点构成一个大顶堆,然后再找前面一个非叶子节点继续此时根节点是最大的数据,然后将根节点和最后一位进行交换交换后,排除最后一位最大值,再从根节点开始构建大顶堆重复2,3步骤代码......
  • 反悔贪心总结
    一.OlympiadinProgrammingandSports-洛谷|计算机科学教育新生态(luogu.com.cn)(1)题意: (2)解题思路考虑按编程能力从大到小排序,先选完编程团队中的p个人,然后再考虑体育团队的s人,考虑维护3个优先队列,一个是a[i]的大根堆,一个是b[i]的大根堆,一个是b[i]-......
  • 20230529 java.lang.reflect.InvocationHandler
    介绍java.lang.reflect.InvocationHandlerpublicinterfaceInvocationHandlerAPIpublicinvokeinvokeDefault调用接口的default方法......
  • 20230529 java.lang.reflect.AnnotatedElement
    介绍java.lang.reflect.AnnotatedElementpublicinterfaceAnnotatedElementAPIisAnnotationPresentgetAnnotationgetAnnotationsgetAnnotationsByTypegetDeclaredAnnotationgetDeclaredAnnotationsByTypegetDeclaredAnnotations......
  • maven-resources-production:webapi: java.lang.NegativeArraySizeException
    maven-resources-production:webapi:java.lang.NegativeArraySizeException打开项目启动时,发现报这个错误,基于此,我分析了一下,首先原本好好的项目突然这样子,首先查看代码更新的情况,发现代码并没有作任何变化。分析代码jar包的问题,首先mvnclean和mvninstall直接一起上。代码可......