2023.3.16-Java-特色语法、类的继承、接口覆写

import java.util.LinkedList;
import java.util.List;
//java里只能有一个class的前面有public
//static修饰的成员不能访问没有static修饰的成员。
public class Main {
public enum MyColor{Red,Yellow,Blue}//定义一个枚举类,所有的枚举值都是public static final的。
public static void main(String[] args) {
final double pi = 3.14159; //定义一个常量,用final关键字,这会让pi不允许被重复赋值。final,即最后一次哦。
MyColor color = MyColor.Red;
System.out.println(color);
for(MyColor mycolor: MyColor.values())//
System.out.println(mycolor==color);
double a = Math.pow(10,3);//
int b = (int)a%7;
System.out.println(b);
//先比大小,再算等不等。
int aa=4, bb=6;
boolean yyy,cc=true;
yyy=aa>bb!=cc;
System.out.println(yyy);
/*
逻辑运算:&&,|| 位运算:&, |
三目运算符:表达式1 ? 表达式2 : 表达式3,分支
a>b ? a : b
instanceof为对象运算符,用来判断一个对象是否是一个类的实例。如果是,返回true.
()为优先级算符最高的算符。
[]为数组运算符。
.为访问对象实例或者类的成员函数的运算符。
new算符用于创建新的对象或者数组,在内存中开辟一片新的区域。
*/
// lambda表达式
// (xx,yy) -> {return xx+yy;}
//顺序、分支、循环。基本的东西和C语言是完全一致的,下面尽量展示java的特色。
int score = 100;
switch(score/10){
case 10 -> System.out.println("优秀");
default -> System.out.println("默认");
}
score = 90;
String info = switch (score) {
case 100:
yield "优秀";
default:
yield "默认";
};
System.out.println(info);
List<Integer> list = new LinkedList<Integer>();
for (int i = 0; i<=100; i++){
list.add(i);
}
int sum=0;
for (int cccc :list){
sum+=cccc;
}
System.out.println(sum);
/*
类的三个基本特性:封装性、继承性、多态性。
对象是类的一个实例。对象只在运行的时候出现,new出来的对象以类为模板,在内存中开辟空间。
类是同种对象的抽象综合,是创建对象的模板。
继承关系:extends关键词之后。
接口名:跟在 implements关键词之后,说明当前类实现了哪个结构定义的功能和方法。
*/
cat catA = new cat();
catA.Name="kitty";
catA.catMiu();
dog dogB = new dog();
dogB.Name = "Hotee";
dogB.Type = "dog";
dogB.dogWarm();
}
}
class cat extends Main{
String Name;
public void catMiu(){
this.print();
}
private void print(){
System.out.println(Name+ MyColor.Yellow);
}
}
interface dogUse{
void dogWarm();
}
interface dogUseUse extends dogUse{
default void dogWarm(){
System.out.println("Hoo!");
}
}
class dog extends cat implements dogUseUse{
String Type;
@Override
public void dogWarm(){
catMiu();
System.out.println(Name+Type);
}
}

D:\SoftwareSet\Java\JDK19\jdk-19.0.2\bin\java.exe "-javaagent:D:\SoftwareSet\Java\javaIDE(jetbrains)\installPath\IntelliJ IDEA Community Edition 2022.3.2\lib\idea_rt.jar=53597:D:\SoftwareSet\Java\javaIDE(jetbrains)\installPath\IntelliJ IDEA Community Edition 2022.3.2\bin" -Dfile.encoding=UTF-8 -Dsun.stdout.encoding=UTF-8 -Dsun.stderr.encoding=UTF-8 -classpath D:\AllData\mess\2023_Java_lecture\上课抄代码\2023年3月16日\test\out\production\test cat
Red
true
false
false
6
true
优秀
默认
5050
kittyYellow
HoteeYellow
Hoteedog
Process finished with exit code 0