Java学习_day009面向对象(oop):对象和类(下)
方法的签名:方法名+参数列表
在一个类中不允许出现多个方法签名重复的情况
一、方法的重载(overload)
- 发生在同一个类中,方法名称相同,参数列表不同,方法体就不同。
- 编译器在编译时会根据方法的签名自动绑定调用的方法。
System.out.println();
System.out.println(" ");
System.out.println(55);
System.out.println(5.3);
System.out.println('6');
//println()就使用了重载的方式,可以输出多种数据类型
二、构造方法
- 给成员变量赋值初始值
- 与类同名,没有返回值类型(连void也没有)
- 创建对象时被自动调用
- 若自己没有定义构造方法,则编译器默认提供一个无参数构造方法,若自己定义了,则不再默认提供
- 构造方法可以重载
//创建了一个学生对象
//给成员变量赋默认值
//调用构造方法new Student();小括号是方法的标志
Student zs=new Student("张三",25,"廊坊");
三、this :指代当前对象,哪个对象调用方法它指的就是那个对象
只能用于方法中,方法中访问成员变量之前默认有个(this.)
Java规定:成员变量和局部变量可以重名——在使用时采取的是就近原则;
当成员变量与局部变量重名时,此时若想要使用成员变量则this不可省略
成员变量——整个类都可应用
局部变量——独属于方法应用
常规写法:
内存管理——null
由jvm来管理的
- 堆:储存new出来的对象(包括成员变量)
- 栈:局部变量(包括方法的参数)
- 方法区:.class字节码文件(包括方法)
练习
/*5 package oop.day02exer;public class Aoo {void show(){}void show(int age){}void show(int age,String name){}void show(String name,int age){}void show(String name){}
}
package oop.day02exer;public class OverloadDemo {public static void main(String[] args) {Aoo o=new Aoo();o.show();o.show(4);o.show(4,"Asd");o.show("asd");o.show("sda,4");}}*/
/*4 package oop.day02exer;public class Aoo {void show(){}void show(int age){}void show(int age,String name){}void show(String name,int age){}void show(String name){}
}
package oop.day02exer;public class OverloadDemo {public static void main(String[] args) {Aoo o=new Aoo();o.show();o.show(5);o.show(5,"Asd");o.show("asd");o.show("sda,5");}}*/
/*3 package oop.day02exer;public class Aoo {void show(){}void show(int age){}void show(int age,String name){}void show(String name,int age){}void show(String name){}
}
package oop.day02exer;public class OverloadDemo {public static void main(String[] args) {Aoo o=new Aoo();o.show();o.show(6);o.show(6,"Asd");o.show("asd");o.show("sda,6");}}*/
/*2 package oop.day02exer;public class Aoo {void show(){}void show(int age){}void show(int age,String name){}void show(String name,int age){}void show(String name){}
}
package oop.day02exer;public class OverloadDemo {public static void main(String[] args) {Aoo o=new Aoo();o.show();o.show(6);o.show(7,"Asd");o.show("asd");o.show("sda,8");}}*/
/*1 package oop.day02exer;public class Aoo {void show(){}void show(int age){}void show(int age,String name){}void show(String name,int age){}void show(String name){}
}
package oop.day02exer;public class OverloadDemo {public static void main(String[] args) {Aoo o=new Aoo();o.show();o.show(7);o.show(7,"Asd");o.show("asd");o.show("sda,74");}}*/
/*5package oop.day02exer;public class Student {String name;int age;String address;Student(String name,int age,String address){this.name=name;this.age=age;this.address=address;}void study(){System.out.println(name+"studing..");}void sayhi(){System.out.println("hi,name:"+name+";age:"+age+";address:"+address);}
}
package oop.day02exer;public class Student_Test {public static void main(String[] args) {Student ww=new Student("wangwu",54,"sh");ww.sayhi();}}*/
/*4 package oop.day02exer;public class Student {String name;int age;String address;Student(String name,int age,String address){this.name=name;this.age=age;this.address=address;}void study(){System.out.println(name+"studing..");}void sayhi(){System.out.println("hi,name:"+name+";age:"+age+";address:"+address);}
}
package oop.day02exer;public class Student_Test {public static void main(String[] args) {Student zs=new Student("zhangsan",22,"ls");zs.sayhi();}}*/
/*3 package oop.day02exer;public class Student {String name;int age;String address;Student(String name,int age,String address){this.name=name;this.age=age;this.address=address;}void study(){System.out.println(name+"studing..");}void sayhi(){System.out.println("hi,name:"+name+";age:"+age+";address:"+address);}
}
package oop.day02exer;public class Student_Test {public static void main(String[] args) {Student ls=new Student("lisi",33,"wh");ls.sayhi();}}*/
/*2 package oop.day02exer;public class Student {String name;int age;String address;Student(String name,int age,String address){this.name=name;this.age=age;this.address=address;}void study(){System.out.println(name+"studing..");}void sayhi(){System.out.println("hi,name:"+name+";age:"+age+";address:"+address);}
}
package oop.day02exer;public class Student_Test {public static void main(String[] args) {Student tom=new Student("Tom",55,"sade");tom.sayhi();}}*/
/*1package oop.day02exer;public class Student {String name;int age;String address;Student(String name,int age,String address){this.name=name;this.age=age;this.address=address;}void study(){System.out.println(name+"studing..");}void sayhi(){System.out.println("hi,name:"+name+";age:"+age+";address:"+address);}
}
package oop.day02exer;public class Student_Test {public static void main(String[] args) {Student ww=new Student("wangwu",54,"sh");ww.sayhi();}}*/
Java学习_day009面向对象(oop):对象和类(下)相关推荐
- Java学习_day009(oop):引用类型数组、继承的意义
补充:null和NullPointerException null:表示空,没有指向任何对象: 若引用值为null,则该引用不能进行任何操作了, 若操作则发生NullPointerException空 ...
- 【JAVA SE】第六章 面向对象、对象和类以及封装
第六章 面向对象.对象和类以及封装 文章目录 第六章 面向对象.对象和类以及封装 一.面向对象 1.概念 2.面向对象的三大特征 二.对象和类 1.基本概念 2.Java中的对象 3.Java 中的类 ...
- 深圳Java学习:面向对象【重点知识】
深圳Java学习:面向对象[重点知识] 在Java的学习中,面向对象应该是Java技术的重中之重,虽然在生活中没有对象可以面对,但在技术中还是要一直接触面对对象,而且不可避免.今天千锋小编对面向对象来 ...
- Java学习_day008面向对象(OOP):对象和类
面向对象:OO 面向对象的分析:OOA 面向对象的设计:OOD 面向对象分析与设计:OOAD--目标 面向对象的编程:OOP--起始点 高质量代码的要求(OO终极目标):复用性好.拓展性好.维护性好. ...
- Java码农进阶之路~面向对象之对象和类
一 类和对象的概念 1.对象 在Java中,对象具有属性和方法.属性为对象的一般特征(抽象描述),方法为对象的一些行为.(对象是由类创建出来的具体的事物) 例如用对象描述一个程序员 属性: 姓名 性别 ...
- JAVA基础-U7 面向对象编程(基础部分)-类与对象
类与对象(OOP) 快速入门 类是抽象的,概念的,代表一类事物.即它是数据类型 对象是具体的,实际的,代表一个具体事物.即它是实例 类是对象的模版,对象是类的一个个体,对应一个实例 养猫问题: 张老太 ...
- Java学习笔记07-面向对象
面向对象 面向对象&面向过程的区别 面向过程思想 步骤清晰简单,第一步做什么,第二步做什么以及后续每一步都清清楚楚 面向过程适用于处理一些较为简单的问题 面向对象思想 物以类聚,分类的思维模式 ...
- Java学习笔记——面向对象
声明:文章首发于我的个人微信公众号Java编程社区,查看更多文章与学习资源请移步我的公众号Java编程社区 万物皆对象 学习Java,我们都听过这句话:万物皆对象.那么什么是对象? 我们先来看看人类是 ...
- Java学习笔记——面向对象 1
声明:本文首发于我的个人微信公众号[Java编程社区],查看更多文章与学习资源请移步我的公众号Java编程社区 万物皆对象 学习Java,我们都听过这句话:万物皆对象.那么什么是对象? 我们先来看看人 ...
最新文章
- mysql insert 结果集_SELECT查询结果集INSERT到数据表
- 西南大学网络教育学院计算机答案,西南大学网络与继续教育学院课程《数字信号处理》2018年春季大作业机考 答案.doc...
- web框架-Struts开始
- linux下qt生成可安装的程序,linux – 如何为Qt应用程序创建“安装”包?
- lua游戏开发实践指南光盘_Godot游戏开发实践之一:用High Level Multiplayer API制作多人游戏(上)
- java 是怎么跨平台运行的
- anroid Remote Service 使用注意事项
- CSS 绘制一个时钟
- idea导入导出 settings 设置文件
- java JButton计算器布局
- Mac 下 Chrome 谷歌浏览器 快捷键
- expandable长点击的实现
- 计算机专业对未来职业的理想追求,IT行业个人职业生涯规划
- 刚读博士想退学?如何避免博士毕业不了?
- Matlab 工作区变量和 MAT 文件
- 81章 老子1章到_三曜道长解读道德经: 信言不美 第81章
- python打卡记录去重_Pandas 数据筛选,去重结合group by
- 黑马程序员---java基础-Java之IO
- 量子计算机、康威扭结、奥数AI,这是2020年计算机、数学的重大突破
- java实现分页打印功能_分页功能的java实现
热门文章
- 第三方登录 (faceBook )
- JSPServlet学习手册
- 惊闻VeryCD的电驴下载部分即将关闭
- 关于Qt Designer程序/UI文件打开未响应的解决方法
- PySpider HTTP 599: SSL certificate problem错误的解决方法
- 解决spring-security session超时 Ajax 请求没有重定向的问题
- 解决Windows10下无法对docker容器进行端口访问(端口映射的问题)
- C#画图解决闪烁问题
- Python 解决 :NameError: name ‘reload‘ is not defined 问题
- 如何使用YUM列出包的内容?