0
点赞
收藏
分享

微信扫一扫

我的Java学习之路(第八天)------类和对象


(参考网易云课堂:龙马高新教育)
一、类的声明与定义
1.1 类的声明
[访问修饰符] class 类名称{

//类的成员变量
//类的成员方法
}


访问修饰符:
①public:公有的,Java中权限最宽的修饰符,本类、本包内的类、以及包外的类也能访问
②private:私有的,本类可以访问
③protected:介于public和private之间,和继承有关。本类,子类可以访问
④final:最终的,无法改变的。
⑤默认模式:不加修饰符,只能本包内、本类内可以访问;
类名称:只能是字母、数字、下划线、$组成,不能以数字开头、不能使用关键字,一般首字母大写;

这是老师上课讲的东西,先记下来

package Pseson;

public class Person {
String name;
int age;
//上面两个叫做成员变量
/**
* talk方法(成员方法 )
*/
void talk() {
System.out.println("我是"+name+"今年"+age);
}
}

  1.2 类的定义
访问修饰符 类的成员变量的定义:
数据类型 属性[=值];
类的成员方法的定义:
访问修饰符 返回值的数据类型 方法名称(参数1、参数2...)
也是列举一个例子方便我复习

package Pseson;
/**
*ColorDefine类
*/
public class ColorDefine {
String color = "黑色"; //成员变量
void getMes() { //成员方法
System.out.println("定义类");
}

public static void main(String[] args) {
ColorDefine cd = new ColorDefine(); //实例化创建对象
System.out.println(cd.color); //调用对象的属性color
cd.getMes(); //调用对象的方法
}
}

1.3类的属性
语法:[访问修饰符] 属性类型 属性名 [=默认值];
修饰符:public,private,protected,static,final;
其中static和final可以组合使用;
属性类型:任何类型(基本数据类型和引用数据类型)
属性名:只能是字母,数字,_,$组成,不能以数字开头,
不能使用关键字。一般首字母小写,后面单词首字母大写;

二、对象的声明与使用
2.1 对象的声明
语法:类名 对象名 = new 类名([形参]);
2.2 对象的使用
如果要访问对象某个变量或成员方法:
对象名.属性名 ;对象名.方法名([形参]);

package Pseson;

public class TestPerson {
public static void main(String[] args) {
Person p = new Person(); //声明Person并直接实例化此对象
System.out.println(p.age); //调用对象p的成员变量
System.out.println(p.name); //调用对象p的成员变量
p.name = "加油";
p.age = 10;
System.out.println(p.age); //调用对象p的成员变量
System.out.println(p.name);
p.talk();
System.out.println("匿名对象");
new Person().say();
}
}

🌂匿名对象:当我们只需要使用对象一次时,可以使用;

2.3对象的比较
两种方式:①使用“==”运算符; ---比较的是两个对象内存地址
②使用equals()方法;---比较的是两个对象的内容

2.4对象数组的使用

package demo2;

public class Test {

public static void main(String[] args) {
Person persons[]; //声明Person类型的数组
persons = new Person[3];
for(int i=0;i<persons.length;i++) {
persons[i] = new Person(); //实例化对象
persons[i].name = "冲冲冲";
persons[i].age = 10+i;
}
System.out.println(persons[2].name);

}

}

也可以简写为Person[] persons2={new Person(),new Person(),new Person()};

三、拓展
1、栈内存与堆内存的区别
栈内存:由编译器自动分配和释放的;存放基本数据类型;
优点:存取速度快,数据可以共享;
缺点:存在栈中的数据大小与生存期确定,缺乏灵活性;
堆内存:程序动态分配的内存区域,存放构建对象时所需要的内存,由垃圾回收机制回收;
优点:动态分配内存大小;
缺点:存取速度慢;


举报

相关推荐

0 条评论