JAVA学习重难点突破

1.一个java文件可以包含多个类,但至多包含一个公共类,作为编译时该java文件的公用接口,公共类的名字和源文件的名字要相同,源文件名字的格式为【公共类名.java】。
2.JNC a = new JNC();
对于这个代码我们非常容易理解无非就是实例化了一个剑南春的对象嘛!
3.cd E:\应用软件\学习\JAVA
4.javac X.java 编译生成.class文件
前提:进行编译之前已经在cmd命令中定位到.java文件所在的文件夹
如果通过cmd命令执行java程序需要将位置定位到.class文件所在的文件夹
例如:
Max.java存放在E:\Ti文件中,编译生成放在E:\Tii文件中
(javac -d E:\Tii Max.java)(指定.class文件存放路径)
e:\Ti Java Max 找不到或者无法加载主类
e:\Tii java Max 成功运行
在这里插入图片描述
定位位置方法:
cd D:\VMware
D:
在这里插入图片描述
5.存在几个类,编译之后便生成几个.class文件
6.java数组长度必须在初始化时给定,长度不可变
第一种
int[] a = new int[100];
for(int i = 0;i<a.length;i++){
a[i] = i;
}
第二种
int[] a = {1,2,3};
第三种
int[] a = new int[] {1,2,3};
6.
package net.java.util;
public class Something{ … }
那么它的路径应该是 net/java/util/Something.java 这样保存的。
7.包:
包声明应该在源文件的第一行,每个源文件只能有一个包声明,这个文件中的每个类型都应用于它。
如果一个源文件中没有使用包声明,那么其中的类,函数,枚举,注释等将被放在一个无名的包(unnamed package)中。
8. . 的命令是表示把生成的.class文件放在当前目录(注意前后都有空格)
9.Javac -d . A.java
运行 java 包名.类名 如: java aa.a
10.java中明文规定在静态方法中不能调用非静态方法,根本上是静态方法中的调用是指直接调用,但实例化对象后便不是直接调用了。
11.构造函数:
在一个类中的函数分为构造函数、自定义函数;
自定义函数:顾名思义,即可根据一个方法的具体功能取一个有意义的名字。
构造函数:它是用来构造出一个类的对象的,调用类的构造函数即创建这个类的一个实例。所以也就是为什么构造函数名就和类名要相同的缘故了
JAVA中规定构造函数名必须与类名一致。
构造函数没有返回值,也不能用void修饰. 如果不小心给构造函数前面添加了返回值类型,那么这将使这个构造函数变成一个普通的方法,在运行时将产生找不到构造方法的错误。
不可以写return语句。
12.构造函数和成员方法之间区别:
A:格式区别
构造方法和类名相同,并且没有返回类型,也没有返回值。
普通成员方法可以任意起名,必须有返回类型,可以没有返回值。
B:作用区别
构造方法用于创建对象,并进行初始化值。
普通成员方法是用于完成特定功能的。

 C:调用区别
        构造方法是在创建对象时被调用的,一个对象建立,只调用一次相应构造函数
        普通成员方法是由创建好的对象调用,可以调用多次

13.JAVA在定义一个方法的时候,不用public和用public有什么区别?
不用public就是private,default,protected三种之一。private,私有的访问权限,也是最严格的访问权限,仅只能在设置了该权限的类中访问,利用这个访问权限,表现出封装思想。
14.//非必须构造函数,可直接实例化public类的对象,进而使用public类下的方法
//成员变量不能直接调用( 无法从静态上下文中引用非静态变量)
15首先需要说明的是,即使子类声明了与父类完全一样的成员变量,也不会覆盖掉父类的成员变量。而是在子类实例化时,会同时定义两个成员变量,子类也可以同时访问到这两个成员变量(this.i&super.i),但父类不能访问到子类的成员变量(父类不知道子类的存在)。
16调用方法X.X()或者直接
17抽象类:就是包含有未定义的虚函数的类,也就是说只在类中声明了一个抽象类,但没有具体定义。抽象类无法实例化。
18重写是子类对父类的允许访问的方法的实现过程进行重新编写, 返回值和形参都不能改变。即外壳不变,核心重写!
19.调用成员方法时务必不要忘记带(),否则报错无方法;
20.调用某个方法(方法内部只有1个retuen,例如计算体积return……),直接调用不会显示数值,需要加System.out.println(x.x()).
21.System.out.println与System.err.println的区别
System.out.print
java.lang.String.charAt() 方法返回指定索引处的char值。索引范围是从0到length() - 1。对于数组索引,序列的第一个char值是在索引为0,索引1,依此类推
public class Test {
public static void main(String[] args) {
String s =“abc”;
System.out.println(s.charAt(1));
}
}

猜你喜欢

转载自blog.csdn.net/qq_42785280/article/details/95909648
今日推荐