面向对象(类,实例变量,方法定义,方法重载,构造方法,this,string类)
面向对象
类是由属性和方法组成
类是所有创建对象的模板
实例变量有默认值
实例变量至少在本类范围中有效
实例变量与局部变量冲突时,局部变量优先
类中方法定义类似于函数定义
修饰符 返回值类型 方法名(参数1,参数2) 异常{
方法体
}
方法重载
参数个数不同
参数类型不同
参数类型相同但是顺序不同

传入参数的不同自动选取相应方法:典型例子system.out.println(整形,字符串等);
构造方法
1.构造方法无返回值
2.不定义的情况下,有默认的空构造方法
3.在对象构造时,被自动调用一次,而且只会被调用一次
4.用来分配空间用来初始化变量
class student{
String name = “suns”;
int age;
public Student(){}
}
this
类的实例变量与局部变量冲突的时候,局部变量优先。如果发生局部变量冲突时可以通过this.属性调用实例变量
this在这里指的是当前对象 this.i即m1的属性i
public class Test2 {
public static void main(String args[]){
MyClass m1 = new MyClass();
m1.print();
}
}
class MyClass{
int i = 10;
public void print(){
int i = 20;
System.out.println(i);//20
System.out.println(this.i);//10
}
}
String
String s = “suns”;创建一个对象//再创建String s = “suns”;时并没有创建新的对象是同一个对象
String s = new String(“suns”); 创建了两个对象
前者对象放在jvm字符串池,下次定义同样字符串时候可以不用创建,直接使用,建议采用此方式
后者不放在串池
String类中的常用方法
boolean equals()
char charAt(int pos)
int length()
String[] split();
boolean startWith(String s)
trim()
public static void main(String[] args) {
// split 分割 [1,2,3,4,5] 1,2,3,4,5
String str="1,one2,one3,one4,one5";
int[] arr=new int[5];
String[] sarr=str.split(",one");
for(int i=0;i<sarr.length;i++)
System.out.print(sarr[i]+"\t");
}
面向对象(类,实例变量,方法定义,方法重载,构造方法,this,string类)的更多相关文章
- 第7.11节 案例详解:Python类实例变量
上节老猿介绍了实例变量的访问方法,本节结合一个具体案例详细介绍实例变量访问. 本节定义一个Vehicle类(车),它有三个实例变量self.wheelcount(轮子数).self.power(动力) ...
- java 中String类的常用方法总结,带你玩转String类。
String类: String类在java.lang包中,java使用String类创建一个字符串变量,字符串变量属于对象.String类对象创建后不能修改,StringBuffer & St ...
- 关于Integer类中parseInt()和valueOf()方法的区别以及int和String类性的转换.以及String类valueOf()方法
Integer类中的. 关于parseInt()方法的API文档. 返回的是int类型的 关于valueOf()方法的API文档 返回的是Integer类型的. 关于intValue()方法的API ...
- Python全栈day24(面向对象编程作业作业_定义学校老师课程班级学生类)
面向对象作业 作业_定义学校老师课程班级学生类.py #面向对象编程作业,定义学校老师课程班级学生类 #定义几个类,尽可能定义多的数据属性及函数属性 class School: def __init_ ...
- ruby中的类实例变量和实例的实例变量
ruby中有实例变量这个语法,有点类似java的对象的属性,但是ruby中类也有实力变量, class Person @name = 'hello' def initialize(name,age) ...
- String 类的实现(3)引用计数实现String类
我们知道在C++中动态开辟空间时是用字符new和delete的.其中使用new test[N]方式开辟空间时实际上是开辟了(N*sizeof(test)+4)字节的空间.如图示其中保存N的值主要用于析 ...
- C++_类和动态内存分配2-改进后的String类
添加前面介绍过的复制构造函数和赋值运算符,使类能够正确管理类对象使用的内存. 知道对象何时被创建和释放. =================================== 修订后的默认构造函数 ...
- MR-为什么MR类的变量喜欢定义在方法外面?
写了一些MR后发现不管是别人写的还是官方给的,比如map方法,变量都是定义在方法外面. 因为之前都是照猫画虎的写的,所以自己也一直这么写,可是为什么呢? 我试了试定义在方法里面,程序照样跑,试了几个程 ...
- JAVA基础学习之路(二)方法定义,重载,递归
一,方法的定义: package test; public class test1 { public static void main(String args[]) { int result = ad ...
- Java反射特性--获取其他类实例并调用其方法
1. 代码结构 .├── com│ └── test│ └── MyTest.java└── MainCall.java 2. 代码内容 MyTest.java: package com.te ...
随机推荐
- Hibernate_13_QBC查询
Employee类.Department类.SessionFactoryTools类.Employee.hbm.xml文件.Department.hbm.xml文件.Hibernate.cfg.xml ...
- YUV / RGB 格式及快速转换算法
1 前言 自然界的颜色千变万化,为了给颜色一个量化的衡量标准,就需要建立色彩空间模型来描述各种各样的颜色,由于人对色彩的感知是一个复杂的生理和心理联合作用 的过程,所以在不同的应用领域中为了更好更准确 ...
- 同一个shell下实现多个composite的切换
SWT实现面板切换可以采用StackLayout来实现,通过topControl来实现置顶,但是置顶之后要记得调用父组件的layout方法.否则会不显示,应该所有改变组件布局的情况都要进行父组件的重新 ...
- C#中析构函数,命名空间及字符串的运用(Ninth day)
又到了总结知识的时间了,今天在云和学院学习了析构函数,命名空间及字符串的处理,现在就为大家总结下来. 理论: 析构函数 不能在结构中定义析构函数.只能对类使用析构函数. 一个类只能有一个析构函数. 无 ...
- json对象的操作,json工具
项目中经常用到json,现在把写了几个js函数,用来获取json对象或者json字符串的长度,以及获取其的key值,value值,并且返回. 这样以后可以直接拿来用,可以省去不少麻烦,也方便以后查看. ...
- 复制virtualenv环境到其他服务器环境配置的方法
要在n多服务器端部署python的应用,虽然python本身是跨平台的,当时好多第三方的扩展却不一定都能做到各个版本兼容,即便是都是linux,在redhat系列和ubuntu系列之间来回导也是个很让 ...
- vim插件管理之Vundle
Vim是一个类似于Vi的著名的功能强大.高度可定制的文本编辑器,在Vi的基础上改进和增加了很多特性.正是由于其可定制的特性, 许许多多的Vim插件便诞生了.管理这些插件又成为我们最为头疼的问题,最近无 ...
- Gsoap 使用心得 2
Gsoap 返回图片byte的困惑 前些日子刚使用gsoap将二进制文件上传(服务期端使用c# wcf 编写),上传功能实现没 ...
- 资源文件(.RES)的应用
资源档有什麽用处呢?最重要的有两个地方1.国际发行:我们将Application中所有的文字从Resource用读取,那麽,只要更动 Resource档的内容,就可以用不同语言的 ...
- BZOJ 1614: [Usaco2007 Jan]Telephone Lines架设电话线
题目 1614: [Usaco2007 Jan]Telephone Lines架设电话线 Time Limit: 5 Sec Memory Limit: 64 MB Description Farm ...