Java基础语法10分钟速成,记笔记版
- JDK
- hello world
- 变量
- 字符串
- 类,继承,多态,重载
JDK
JDK即Java development key,Java环境依赖包
在jdk中
编译器javac将代码的Java源文件编译为字节码文件(.class),再交付JRE执行,JRE中的JVM(Java跨平台运行的核心原因)将字节码文件转换为不同计算机设备上的机器码进行执行
hello world
创建一个.java结尾的文件-hello world.java,每个文件都由类构成,类的名称与文件名同名
class HelloWorld{
public static void main(String[] args){
System.out.println("Hello,World!");//display the string.
}
}
终端执行:javac HelloWorld.java //编译Java文件转换为字节码文件
java HelloWorld //java +类名 运行文件
变量
final关键字,表示该变量不允许修改,类似js的const
字符串
字符串在声明之后是不可变的,以下操作都是在系列操作后生成的新的字符串
构造函数声明字符串
String str2 =new String ("qwe");
System.out.println(str2);
查找字符串位置
String str3="abc"+"efg"+"hih"
System.out.println(str3.indexof("ef"));
替换字符串
System.out.println(str3.replace(“efg”,“zxc”));
类,继承,多态,重载
定义类
class HelloWorld{
public static void main(String[] args){
Person a1=new Person("小小怪",18);
System.out.println(a1.name);//由于name属性是私有的,在当前类之外使用就会报错
//通过类内部定义方法进行属性增改就是合法的。
System.out.println(a1.getName());
a1.setName("新名字");
System.out.println(a1.getName());
Cat c1=new Cat("Rose",2,"白");
c1.eat();
c1.eat("罐头");
c1.sayHi();
}
}
class Person{
private String name1="9527";//私有属性,外部无法更改
int hight=6545;
//创建实例时指定属性值,使用构造方法接收
public Person(Sting name,int age){//接收创建实例时赋予的属性值
this.name=name;//this指向实例,对实例进行接收值的赋值
this.age=age;
}
//为属性指定获取或修改方式们可以通过定义方法实现
public String getName(){
return this.name;
}
public void setName(String newValue){
this.name=newValue;
}
public void sayHi(){
System.out.println("hi");
}
public void eat(){
System.out.println("eating");
}
}
//extends 关键字,集成父类成为子类
class Cat extends Person{
//子类构造方法中继承父类的属性
public Cat(String name,int age){
super(name,age);//调用父类构造方法,并传入可能存在的参数
}
//多态,子类当中重写与父类同名的方法(然而并不影响父类该方法的正常使用)
@Override
public void sayHi(){
System.out.println("喵。我得名字是叫"+super.getName()+"的猫")
}
//方法二,方法重载,书写与父类原方法同名的方法,但是参数不同
public void eat(){
System.out.println("喵正在吃"+item);
}
}