1、一个 . java文件中,可以存在N个类,但是只能存在一个 public 修饰的类
2、 . java 文件的文件名称必须与 public 修饰的类名完全一致
3、调用格式 : 对象名 . 方法名称 ( 实际参数列表 ) ; // 当括号里没写参数时,即不传参数
4、
public class classAndObjectCreation {
public static void main(String[] args) {
person p = new person();
p.name = “鑫儿”;
p.sex = “男”;
p.age = 25;
p.jop = “互联网”;
p.say();
}
}
class person{
String name;
String sex;
int age;
String jop;
void say(){
System.out.println("我的名字叫"+name+",性别:"+sex+",今年"+age+"岁了,"+"\n"
+ "现在从事"+jop+"方面的工作!");
}
}
5、retrun 有两种意思:
返回值
结束这行代码,如结束循环结构
6、引用数据类型的默认值是 null
7、java 中一个线程就会有一个栈 ,栈是先进后出的,中间有栈内存指向,栈内存指向堆内存
8、内存都是有地址的
栈 放对象
堆 放类(及类的属性)
方法区 放方法
以上三者通过内存指向联系、调用,当 main 方法走完后,
栈内存的对象就逐一释放出来了( 即进行了GC回收内存了 )9
9、GC 回收的情况是这个对象不存在任何引用了
10、构造器 就是 构造方法
构造方法的作用是 用于对象的初始化
所有的 Java 都存在一个或一个以上的构造方法
如果没有写构造器,那编译器会自动生成一个无参的构造器,
且构造方法中没有任何代码,
如果自行编写了任意一个构造器,
则编译器不会再自动生成无参的构造器
格式: 方法名称必须与类名相同,没有返回值类型的声明
如 :
public class TheConstrutorExecutes {
public static void main(String[] args) {
System.out.println(“1”);
person2 p = new person2();
System.out.println(“2”);
p.name = "张三";
p.age = 25 ;
p.say();
}
}
class person2{
person2 (){
System.out.println(“构造器执行了!!”);
}
String name;
int age;
void say(){
System.out.println("自我介绍:我是"+name+",今年"+age+"岁了!!");
}
}
11、当类中有非常量成员变量时,建议提供两个版本的构造器(构造方法),
一个是无参构造方法,另一个是全属性做参数的构造方法
12、当类中所有成员变量都是常量或者没有成员变量时,建议不提供任何版本的构造器
13、方法的重载
public class mathodOverloading {
public static void main(String[] args) {
// 方法的重载 :
//1、方法名称相同
//2、参数列表长度、 参数列表类型、 参数类型顺序 都不同
//3、与返回值类型无关
math m = new math();
int num = m.sum(100,200);
System.out.println(num);
double num2 = m.sum(1.1,2.1);
System.out.println(num2);
}
}
class math{
int sum (int x, int y){
int z = x + y;
return z;
}
double sum (double x, double y){
double z = x + y;
return z;
}
double sum (int x, double y){
double z = x + y;
return z;
}
double sum (double x,int y){
double z = x + y;
return z;
}
}
14、构造方法的重载
public class constructorOverleading {
public static void main(String[] args) {
//构造方法的重载
person3 p = new person3("张三",18);
p.say();
person3 p3 = new person3("李四");
p3.say();
}
}
class person3{
String name;
int age;
void say(){
System.out.println("自我介绍:姓名:"+name+",年龄:"+age);
}
person3(String name2,int age2){ //方法的重载
name = name2;
age =age2;
}
person3(String name2){ //方法的重载
name = name2;
}
}
15、匿名对象
int num = new math ( ) . sum ( 100 , 200 ) ; //匿名对象格式
class math {
int sum ( int x , int y ) {
retur n x + y ;
}
}
// 准备调用两次或两次以上的对象一定要写对象名,如果匿名对象会找不到对象出错的