js散知识和java散知识|青训营

65 阅读5分钟

js

  • 严格检查模式:‘use strict’,语法JavaScript的随意性导致的问题。用它的前提:idea支持es6语法

  • 局部变量建议都使用let定义

  • 对象属性赋值,用.访问即可。使用一个不存在的属性,不会报错,只是undefined。如person.haha

  • 访问对象属性也可以person['keyName']或person[keyName]

  • 判断属性是否在某对象中:xxx in xxx

    注意属性名是键,必须用引号引起

  • JavaScript中都叫函数,不叫方法

  • 判断一个属性是否是这个对象自身拥有的hasOwnProperty(keyName)

  • JavaScript可以动态地删减属性(和java极其不一样,展现了其动态语言的特性,java中类加载后模板已定,属性有哪些就是哪些)

    也可以动态地添加属性,直接赋值

java

1、一个项目由很多源文件组成。只能有一个源文件有main方法这个入口。其它的都写成日常的类即可,别给每个类都加个main方法。(意思就是一个项目只存在一个main方法,即只有一个主类)

2、一个源文件里最多只能有一个public类,且有public类的话源文件名与它类名相同。

1、如果源文件中有多个类,那么只能有一个类public类 ;如果有一个类public类 ,那么源**文件的名字必须与这个类的名字完全相同,扩展名是.java。 2、如果源文件中没有public类,那么源文件的名字可以任意取。

3、不要忘记new一个实例时,类的后面也要(),因为这是在选择相应的构造函数去调用,依此构造器实例化对象。

4、final类不允许被继承

5、类里的属性也叫字段(field),也叫成员变量。

下图u0000即unicode字符集中对‘空’的一个编码

6、写类时注意属性私有

7、判断两个方法是否相同:方法名和参数列表相同,则方法相同

8、对象需要被封装,类将各具体的对象抽象并封装起来了。类太多了也需要抽象出来,就出现了继承。比如动物是哺乳动物、爬行动物等等的抽象

9、因为JVM干了很多事,所以有一些我们看不见,但冥冥之中存在的东西,比如默认的无参构造,比如顶级类Object。Object是java.lang包下的,自动被import。

10、父类的父类就成为祖宗类

11、this和super关键字,一个代表父类对象,一个代表当前对象

12、this();和super();分别代表调用本类的构造器和调用父类的构造器。对它们的调用都必须是构造器的第一句话

13、高转低,需强制转换,低转高,自动执行。对象之间的强转需要有父子关系或祖宗和子孙关系,避免瞎转换。类型转换异常:ClassCastException

14、栈中的变量名不能有重复,即各变量名的标识符要不同

15、一般用instanceof关键字先判断两个对象是否相似,然后再进行强制转换

16、只能是父类或祖宗类的引用执行子类对象,不能是子类引用指向父类或祖宗类对象

17、静态方法,即类方法,在本类中可以直接调用,不加类.方法名都可以。属性也是。在其他类里调用它,推荐直接类名.方法或属性

18、匿名代码块在实例化对象时被加载,即创建对象时自动被创建和执行,而且在构造器执行之前被创建。静态代码块和类一起被加载,永久只执行一次。(即运行某源文件时,类的加载先和静态代码块一起被执行,且这个静态代码块只执行一次。然后有对象被创建时,每次都会执行匿名代码块,匿名代码块执行完后才执行构造器。)

匿名代码块一般用于给对象赋一些初始值

19、jdk新特性。静态导入包中的静态方法或常量,连类名都可以不加了,直接用方法名和属性

20、implements和extends之间没有逗号

java修饰符分为访问控制修饰符 非访问控制修饰符

  • 访问控制修饰符:private、default、protected、public

  • 非访问控制修饰符:static、final、abstract、synchronized、volatile

一、访问控制修饰符:

  1. private:仅在同一类内可见。使用对象:变量、方法。

    注意:不能修饰类(外部类)

  2. default(默认,什么也不写):在同一包内可见,不使用任何显式访问控制修饰符。使用对象:变量、方法、类、接口

  3. protected:对子类和同一包内的类可见。使用对象:变量、方法。

    注意:不能修饰类(外部类)

  4. public:对所有类可见。使用对象:变量、方法、类、接口

default:

在类、变量、方法的定义前没有指定任何访问控制修饰符,那么它们就默认具有默认访问修饰符
默认访问修饰符的访问级别是包级别(package-level),即只能被同一包中的类访问。

private:

私有访问修饰符是最严格的访问级别,被声明为private的方法、变量只能被所属类访问。
类和接口都不能被声明为private。
被声明为private的属性只能通过类中公共的getter方法被外部类访问
private访问修饰符的使用主要用来隐藏类的实现细节和保护类的数据