【编程语言】Java中的类和对象learn by Imooc
来源:互联网 发布:酷开电视直播软件 编辑:程序博客网 时间:2024/06/03 23:41
一、什么是类和对象
* 类是模子,确定对象将会拥有的特征(属性)和方法
* 类的特点:
* 类是对象的类型
* 具有相同属性和方法的一组对象的集合
* 对象的属性
* 属性-对象具有的各种特征
* 每个对象的每个属性都有用的特定值
* 对象的方法
* 方法-对象执行的操作(能干什么)
* 类和对象的关系
* 类是抽象的概念,仅仅是模板
* 1、类的重要性:所有Java程序都已类Class为组织单元
* 2、什么是类
* 类是模子,确定对象将会拥有的特征(属性)和方法
* 3、类的组成:属性和方法
* 4、定义一个类的步骤
* a、定义类名 public class 类名{
* b、编写类的属性 //定义属性部分
* 属性1的类型
* c、编写类的方法 //定义方法部分
* 方法1
*
* 1、成员变量
* 在类中定义,用来描述对象将要有什么
* 2、局部变量
* 在类的方法中定义,在方法中临时保存数据
* 局部变量:定义在方法内部->只能在当前方法使用
* 成员变量:本类方法,其他类的方法->使用
* 区别:
* 1)、作用域不同
* 局部变量的作用域仅限于定义它的方法
* 成员变量的作用域在整个类内部都是可见的。
* 2)、初始值不同
* java会给成员变量一个初始值
* 不会给局部变量初始值
* 3)、在同一个方法中,不允许有同名局部变量
* 在不同的方法中,可以有同名局部变量
* 4)、两类变量同名时,局部变量具有更高的优先级(就近原则)
1.使用new+构造方法 创建一个新的对象
2.构造方法是定义在Java类中的一个用来初始化对象的方法
构造方法与类名同名,且没有返回值
构造方法的语句格式
public 构造方法名([可以指定参数]){
//初始化代码
没有返回值类型 方法名与类名相同
}
* 5.没有指定构造方法时,系统会自动添加无参构造方法
* 6.当有指定构造方法,无论是有参、无参的构造方法,系统都不会自动添加无参的构造方法
* 7.构造方法的重载:方法名相同,但参数不同的多个方法,调用时会自动根据不同的参数选择相应的方法
* 类是模子,确定对象将会拥有的特征(属性)和方法
* 类的特点:
* 类是对象的类型
* 具有相同属性和方法的一组对象的集合
* 对象的属性
* 属性-对象具有的各种特征
* 每个对象的每个属性都有用的特定值
* 对象的方法
* 方法-对象执行的操作(能干什么)
* 类和对象的关系
* 类是抽象的概念,仅仅是模板
* 对象是一个你能够看得到,摸得着的具体实体
* 1、类的重要性:所有Java程序都已类Class为组织单元
* 2、什么是类
* 类是模子,确定对象将会拥有的特征(属性)和方法
* 3、类的组成:属性和方法
* 4、定义一个类的步骤
* a、定义类名 public class 类名{
* b、编写类的属性 //定义属性部分
* 属性1的类型
* c、编写类的方法 //定义方法部分
* 方法1
*/
//1.定义一个类public class ClassAndObject {//2.属性(成员方法)有什么float screen;float cpu;float mem;//3.方法 干什么void call(){System.out.println("Telphone有打电话的功能!");}void sendMessage(){System.out.println("screen:"+screen+" cpu:"+cpu+" mem:"+mem+" Telphpne有发短信的功能!");}/** * Java对象 * 使用对象的步骤 * 1、创建对象: * 类名 对象名 = new 类名(); * ClassAndObjec phone = new ClassAndObject(); * 2、适用对象 * 引用对象的属性:对象名.属性 * phone.screen = 5;//给screen属性赋值5 */public static void main(String args[]){//ClassAndObject phone = new ClassAndObject();phone.call();phone.sendMessage();//1.给实例变量赋值phone.screen = 5.0f;phone.cpu = 1.4f;phone.mem = 2.0f;//2.调用对象的方法phone.sendMessage();}}三、成员变量和局部变量
*
* 1、成员变量
* 在类中定义,用来描述对象将要有什么
* 2、局部变量
* 在类的方法中定义,在方法中临时保存数据
* 局部变量:定义在方法内部->只能在当前方法使用
* 成员变量:本类方法,其他类的方法->使用
* 区别:
* 1)、作用域不同
* 局部变量的作用域仅限于定义它的方法
* 成员变量的作用域在整个类内部都是可见的。
* 2)、初始值不同
* java会给成员变量一个初始值
* 不会给局部变量初始值
* 3)、在同一个方法中,不允许有同名局部变量
* 在不同的方法中,可以有同名局部变量
* 4)、两类变量同名时,局部变量具有更高的优先级(就近原则)
int var;//成员变量void Test(){int localVar = 10;//局部变量System.out.println("var:"+var);System.out.println("localVar"+localVar);}void Test1(){//System.out.println("localVar"+localVar);}public static void main(String args[]){Variable var = new Variable();var.Test();}四、构造方法
1.使用new+构造方法 创建一个新的对象
2.构造方法是定义在Java类中的一个用来初始化对象的方法
构造方法与类名同名,且没有返回值
构造方法的语句格式
public 构造方法名([可以指定参数]){
//初始化代码
没有返回值类型 方法名与类名相同
}
//main:public static void main(String args[]){//通过无参的构造方法可以创建对象ConstructionMethod phone = new ConstructionMethod();//通过有参的构造方法也可以创建对象,并给对象中的实例变量赋初值ConstructionMethod phone2 = new ConstructionMethod(5.0f, 1.4f, 2.0f);}//无参构造方法:public ConstructionMethod(){System.out.println("无参构造方法被执行了");}//有参构造方法:public ConstructionMethod(float newScreen,float newCpu,float newMem){screen = newScreen;cpu = newCpu;mem = newMem;System.out.println("有参的构造方法被执行了!");}
* 5.没有指定构造方法时,系统会自动添加无参构造方法
* 6.当有指定构造方法,无论是有参、无参的构造方法,系统都不会自动添加无参的构造方法
* 7.构造方法的重载:方法名相同,但参数不同的多个方法,调用时会自动根据不同的参数选择相应的方法
* 8.构造方法不但可以给对象的属性赋值,还可以保证给对象的属性赋一个合理的值
public class StaticVariable {//static修饰的变量为静态变量,所有类的对象共享hobbystatic String hobby = "原本imooc";//使用static关键字声明静态方法public static void print(){System.out.println("静态方法");}public static void main(String[] args) {// TODO Auto-generated method stub/** * 静态变量: * Java中被static修饰的成员成为静态成员或类成员。它属于整个类所有 * 静态成员可以使用类名直接访问,也可以使用对象名进行访问 * 使用static可以修饰变量、方法和代码块 *///静态变量可以直接使用类名来访问,无需创建类的对象System.out.println(StaticVariable.hobby);//创建类的对象StaticVariable svar = new StaticVariable();System.out.println(svar.hobby);//使用对象名的形式修改静态变量svar.hobby = "已修改hello";//再次使用类名访问静态变量,值已被修改System.out.println(svar.hobby);/** * 静态方法: * 直接使用类名调用静态方法 * 也可以通过对象名调用,当然推荐使用类名调用的方式 *///类名调用静态方法StaticVariable.print();//对象名调用StaticVariable svar_2 = new StaticVariable();svar_2.print();}}public class StaticSet {/** * * Java中的Static使用静态初始化块 * 通过初始化块进行数据赋值 * 类的声明中,可以包含多个初始化块,当创建类的实例时,就回依次执行这些代码块 * 静态初始化块(使用static修饰初始化块) * 静态初始化块只在类加载时执行,且只会执行一次,同时静态初始化块只能给静态变量赋值,不能初始化普通的成员变量 * 静态初始化块先执行——>普通初始化块-->构造方法 */int name1;int name2;//定义一个成员变量static int name3;public StaticSet(){//通过初始化块为成员变量赋值,构造方法{name1 = 91;System.out.println("通过构造方法为变量name1赋值。");}}//初始化块{name2 = 92;System.out.println("通过初始化块为变量name2赋值");}static{//静态初始化块name3 = 93;System.out.println("通过静态初始块为静态变量name3赋值");}public static void main(String args[]){StaticSet sSet = new StaticSet();System.out.println("name1:"+sSet.name1);System.out.println("name2:"+sSet.name2);System.out.println("name3:"+name3);StaticSet sSet2 = new StaticSet();}
0 0
- 【编程语言】Java中的类和对象learn by Imooc
- JAVA编程中的类和对象
- [ java ] java语言中的子类对象和父类对象的创建过程!
- JAVA语言中的对象
- 自然语言中的名词语义和编程语言的对象系统
- 基于对象和面向对象编程范式辨析和主流编程语言中的应用
- Python scikit-learn包中的环境和评估对象
- R语言中的类和对象
- OC语言中的类和对象
- OC语言中的类和对象
- Pb语言中的类和对象
- java中的类和对象
- JAVA中的对象和类
- Java中的类和对象
- java中的类和对象
- Java中的对象和类
- Java中的类和对象
- JAVA中的类和对象
- POJ 2689 Prime Distance(素数区间筛法--经典题)
- HDU - 1176 免费的馅饼
- T001_UT001_0002
- eclipse 两款UI美化插件推荐 miniMap & color theme
- c语言007---常见错误总结
- 【编程语言】Java中的类和对象learn by Imooc
- ID3决策树
- Delphi 模式窗体返回值ModalResult的使用方法及注意事项
- [信息论]唯一可译码的判决算法实现(UDC)
- uva 1586 - Molar mass
- 第四周 项目4 指向学生类的指针
- UIKite/UICollectionViewController/ScrollView
- Super Jumping! Jumping! Jumping!
- 朴素Bayes