面向对象知识要点

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 ;
}
}
// 准备调用两次或两次以上的对象一定要写对象名,如果匿名对象会找不到对象出错的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值