JAVA笔记2__类/封闭性/构造方法/方法的重载/匿名对象
public class Main {
public static void main(String[] args) {
Chicken c1 = new Chicken();
Chicken c2 = null;
c1.eat();
System.out.println(c1.age);
c2 = c1;
c2.eat();
}
}
class Chicken{
int color;
char sex;
int age;
void eat(){
System.out.println("chikcen1 eat rice.");
}
}
public class Main {
public static void main(String[] args) {
Person p1 = new Person();
p1.setName("dining");
System.out.println(p1.getName());
}
}
/**
* 封闭性
* 1.把属性设成私有
* 2.为属性提供get/set方法
*/
class Person{
private String name;
private int age;
public void setName(String name){
this.name = name;
}
public String getName(){
return name;
}
}
public class Main {
public static void main(String[] args) {
Duck p1 = new Duck("fishDining");
System.out.println(p1.getName());
Duck p2 = new Duck("fishDining2",20);
System.out.println(p2.getName()+" "+p2.getAge());
}
}
/**
* 构造方法
* 1.默认(无参)构造方法:public Duck(){}
* 2.带一个(多个)参数的构造方法:Public Duck(String name){this.name=name;}
*/
class Duck{
private String name;
private int age;
//默认构造方法
public Duck(){}
public Duck(String name,int age){
this.name = name;
this.age = age;
}
public Duck(String name){
this.name = name;
System.out.println("I'm a duck.");
}
public void setName(String name){
this.name = name;
}
public String getName(){
return name;
}
public void setAge(int age){
this.age = age;
}
public int getAge(){
return age;
}
}
public class Main {
public static void main(String[] args) {
Woman w1 = new Woman();
w1.aa();
w1.aa("keke1");
w1.aa("keke1",21);
}
}
/**
* 方法的重载(方法具有相同名字,但具有不同的参数和不同的定义)
*/
class Woman{
public String name;
public int age;
public void aa(){
System.out.println("aa1");
}
public void aa(String name){
System.out.println("aa2:"+name);
}
public void aa(String name,int age){
System.out.println("aa2:"+name+":"+age);
}
}
import java.util.Random;
import java.util.Scanner; public class Main {
public static void main(String[] args) {
new Woman().aa(); //生成一个匿名对象
new Woman().aa("loveu1");
}
} /**
* 匿名对象:定义一个没有名称的对象,特点:只能使用一次(直接在堆中开辟内存空间,使用后成为垃圾对象,被GC回收)
*/
class Woman{
public String name;
public int age; public void aa(){
System.out.println("aa1");
}
public void aa(String name){
System.out.println("aa2:"+name);
}
public void aa(String name,int age){
System.out.println("aa2:"+name+":"+age);
}
}
JAVA笔记2__类/封闭性/构造方法/方法的重载/匿名对象的更多相关文章
- Java SE学习笔记 --->高级类特性 ---> toString() 方法
概述: toString() 方法在面向对象当中十分常见,使用频率很高,和equals() 方法一样,也是Object类中定义的方法. jdk中 源码: java.lang.Object类中ToStr ...
- java.lang.String 类的所有方法
java.lang.String 类的所有方法 方法摘要 char charAt(int index) 返回指定索引处的 char 值. int codePointAt(int index) 返回指定 ...
- Java笔记---枚举类和注解
Java笔记---枚举类和注解 一.枚举类 自定义枚举类 方式一:JDK5.0之前自定义枚举类 class Seasons { //1. 声明Seasons对象的属性 private final St ...
- java的ThreadLocal类的使用方法
java的ThreadLocal类的使用方法,ThreadLocal是一个支持泛型的类,用在多线程中用于防止并发冲突问题. 比如以下的一个样例,就是用于线程添加1,可是相互不冲突 package co ...
- Java中主类中定义方法加static和不加static的区别
Java中主类中定义方法加static和不加static的区别(前者可以省略类名直接在主方法调用(类名.方法),后者必须先实例化后用实例调用) 知识点:1.Getter and Setter 的应用 ...
- Java中Pattern类的quote方法将任何字符串(包括正则表达式)都转换成字符串常量,不具有任何匹配功能
Java中Pattern类的quote方法将任何字符串(包括正则表达式)都转换成字符串常量,不具有任何匹配功能. 下面是个例子: import org.junit.Test; import java. ...
- Java学习笔记-File类的基本方法
要渐渐养成写博客的习惯-----> 前段时间看Mars的java中的I/O流没怎么懂,发现I/O流好难啊.今天重新看一遍其他教学,还有书籍,做些笔记,记录下每天的学习生活. File类的一些方法 ...
- JAVA笔记7-Object类之toString方法和equals方法
位于rt.jar\java\lang\Object.class Object类是所有Java类的根基类(Java中只有一个根基类,C++中有多个).如果在类声明中未使用extends关键字指明其基类, ...
- JAVA笔记【类】
java的概述和编程基础在这里我就不过多的强调了,因为已经有学习C和C++的基础了,我在这里强调一下类和对象. [一]类的定义: Java类的定义包括类声明和类体两个部分,其中类体又包含变量声明,方法 ...
随机推荐
- RE Validation in JavaEE
以下是关于RE校验的一些方法的基本功能: import java.util.regex.Pattern;<br> /** * 校验器:利用正则表达式校验邮箱.手机号等 * */<br ...
- 深入学习Composer原理(三)
本系列第三篇文章,一起了解下PSR规范中的PSR4和PSR0规范 首先恭喜大家,包括我自己,坚持到了现在.这篇文章之后,Composer的基础原理就清晰明了咯.也就是说,Composer所利用的正是s ...
- Jmeter系列(20)- 录制控制器
作用:相当于对录制的脚本进行分组存放,放在同一个线程组里面:录制脚本的时候,选择线程组下面想要存放的录制控制器中
- ☕【Java技术指南】「JPA编程专题」让你不再对JPA技术中的“持久化型注解”感到陌生了!
JPA的介绍分析 Java持久化API (JPA) 显著简化了Java Bean的持久性并提供了一个对象关系映射方法,该方法使您可以采用声明方式定义如何通过一种标准的可移植方式,将Java 对象映射到 ...
- Centos7安装配置Gitlab-CE
GitLab介绍 GitLab:是一个基于Git实现的在线代码仓库托管软件,你可以用gitlab自己搭建一个类似于Github一样的系统,一般用于在企业.学校等内部网络搭建git私服. 功能:Gitl ...
- hadoop报错
19/11/24 08:29:08 INFO qlh.MyMapreduce: ================this is job================= 19/11/24 08:29: ...
- linux 客户机挂载vitualbox共享文件夹
1. 安装增强功能包(Guest Additions) 安装好Ubuntu 9.10后,运行Ubuntu并登录.然后在VirtualBox的菜单里选择"设备(Devices)" - ...
- 鸿蒙内核源码分析(系统调用篇) | 开发者永远的口头禅 | 百篇博客分析OpenHarmony源码 | v37.03
百篇博客系列篇.本篇为: v37.xx 鸿蒙内核源码分析(系统调用篇) | 开发者永远的口头禅 | 51.c.h .o 任务管理相关篇为: v03.xx 鸿蒙内核源码分析(时钟任务篇) | 触发调度谁 ...
- Python如何连接Mysql及基本操作
什么要做python连接mysql,一般是解决什么问题的 做自动化测试时候,注册了一个新用户,产生了多余的数据,下次同一个账号就无法注册了,这种情况怎么办呢?自动化测试都有数据准备和数据清理的操作,如 ...
- 【vue】生成接口模拟数据
目录 方案一:自定义模拟数据 Step1 创建json文件 Step2 在 vue.config.js 中配置 Step3 在组件中使用 (方式一) Step3 封装api (方式二) Step4 在 ...