JAVA,
JAVA,
JAVA
面向对象:
所有的事物,都为对象,只是需要把内容映射出一个
抽象类。
用抽象的形式,进行描述!在调用使用!
分解开来,对象的动作,行为,方法,放在一个类中,然后在
拿出来使用!使用方便,随用随拿!
当面对一道题的时候,首先分解,这个东西,需要什么成员变
量,或者方法,或者哪些需要保护,就使用封装,封装后再进
行判断!判断过后再使用set拿出来使用!安全性,以及判断
,便捷!那么类,可以当做对象的模板来使用
public class Dog{
//成员变量的属性
String breed;
intage;
String color;
void barking(){
}
//以及方法
void hungry(){
}
void sleeping(){
}
}
一个类当中可以包含局部变量!成员变量!以及类变量!之外
的变两个,
局部变量:在方法,构造方法,或者语句块中的变量被称为局
部变量,变量声明和初始化都是在方法中,方法结束后,变量
就会自动摧毁!
成员变量:成员变量是定义在勒种,方法体之外的变量,这种
变量在创建对象的时候,实例化,成员变量可以被类中方法,
构造方法和特定类的语句块中访问。
类变量:类变量也声明在类中,方法体之外,但必须声明
static类型!
每个类都有构造方法,如果没有显示地为类定义构造方法,
java编译器将会为该类提供默认构造方法。在创建一个对象
的
名称补习必须与类名同名,一个类可以有多个构造方法:
创建对象:
对象是根据类创建的,在java中,使用关键字new来
创建一个新的对象!
声明对象,包括对象名称和对象类型
实例化,使用关键字new来创建一个对象
初始化,使用new创建对象时,会调用苟傲方法初始化对象
public class Puppy{
int puppyAge;
public Puppy(String name){
// 这个构造器仅有一个参数:name
System.out.println("小狗的名字是 : " + name );
}
public void setAge( int age ){
puppyAge = age;
}
public int getAge( ){
System.out.println("小狗的年龄为 : " + puppyAge
);
return puppyAge;
}
public static void main(String []args){
/* 创建对象 */
Puppy myPuppy = new Puppy( "tommy" );
/* 通过方法来设定age */
myPuppy.setAge( 2 );
/* 调用另一个方法获取age */
myPuppy.getAge( );
/*你也可以像下面这样访问成员变量 */
System.out.println("变量值 : " +
myPuppy.puppyAge );
}
}
学习源文件的声明规则,当在一个源文件中定义多个类,并且
还有import语句和package语句时,要特别注意这些规则
1.一个源文件中,只能有一个public类
2.一个原文件可以有多个非public类
源文件的名称应该和public类的类名保持一致。例如:源文件
中public类的类名是Employee,那么源文件应该命名为
Employee.java。
基本数据类型:
变量就是申请内存来存储值,也就是说,当创建变量
的时候,需要在内存中申请空间。
内存管理系统根据变量的类型为变量分配存储空间,分配的空
间只能用来存储该类型数据!
访问控制修饰符
default什么也不写,在同一个包内可见,不适用任
何修饰符。适用对象,类,接口,变量,方法。
private在同一类内可见,适用对象,变量,方法,
不能修饰类(外部类);
public对所有类可见,适用对象:类,接口,变量
,方法
protected:对同一包内的类和所有子类可见,适用
对象:变量,方法,不能修饰类、(外部类)
String类:
String类提供了链接两个字符串的方法:
关键字:concat
如: String1 。concat(String2)
放回的是两个字符串的链接值
charAt 返回索引,index
public class Test {
public static void main(String args[]) {
String s = "asdfasdff";
char result = s.charAt(8);值为f
System.out.println(result);
}
}
indexOf方法
返回指定字符串中第一次出现处的索引,如果此字符
串中没有这样的字符,则返回-1.
StringBuffer和StringBuilder类
和String类不同的是,StringBuffer和
StringBuilder类的对象能够被多次的修改,并且不产生新的
未使用对象、
多数情况下建议使用StringBuilder类,然而在应用程序要求
线程安全的情况下,则必须使用StringBuffer类
public class Test{
public static void main(String args[]){
StringBuffer sBuffer = new StringBuffer("asdf:");
sBuffer.append("123");
sBuffer.append(".456");
sBuffer.append(".789");
System.out.println(sBuffer);
结果为:asdf:123456789
}
}
方法:
方法的有点。
1,是程序变的更剪短清晰。
2.有力程序维护
3.可以提高程序开发的效率
4.提高带吗的重用性
修饰符返回值类型 方法名(参数类型 参数名){
...
方法体
...
return 返回值;
}
方法的重载,方法名可以相同,参数不同!或者,一个int型
一个dobule类型,返回值则是dobule。
public class chongzai {
publicint id(int a) {
returna;
}
publicint id(int a,int b) {
returna+b;
}
publicint id(int a,int b ,int c) {
returna+b+c;
}
publicint id(int a,int b,int c,int d) {
returna+b+c+d;
}
}
使用哪个调用哪个。
构造方法:
当一个对象被创建时候,构造方法使用初始化该对象
,构造方法和他所在类的名字相同,但构造方法没有返回值
通常会使用构造方法给一个类的实例变量赋处置,或者执行其
他的必要步骤来创建一个完整的对象。不管你与否自定义构造
方法,所有的类都有构造方法,因为jagva提供一个默认构造
方法,他把所有成员初始化为0,一旦定义了自己的构造方法
,默认构造方法就会失效
// 构造函数
class MyClass {
intx;
// 以下是构造函数
MyClass() {
x= 10;
}
}
封装:
封装是指比较安全,隐藏起来的方法
可以认为是一个保护屏障,防止该类的代码和珊瑚橘被外部类
定义的代码随机访问。
要访问该类的代码和数据,必须通过严格的接口控制。
封装主要的功能在与我们能修改自己的事先代码,二u用修改
那么细调用我们代码的程序片段。,
适当的封装可以让代码更容易理解和维护,特加强了代码的安
全性
1.良好的封装能够减少耦合
2.类内部的结构可以自由修改。
3.可以对成员变量进行更精确的控制
4.隐藏信息,事先细节。
首先修改成员变量,public则是公开化,但是封装我们却一般
都使用private属性。
private String name;
private int age;
设置成私有的属性,其他的类就无法访问的到
对每个值实行提供对外的公共方法访问,也就是创建一对赋值
取值的方法,用与对私有属性的访问。
public class Person{
private String name;
private int age;
public int getAge(){
return age;
}
public String getName(){
return name;
}
public void setAge(int age){
this.age = age;
}
public void setName(String name){
this.name = name;
}
}
采用this关键字是为了解决实例化变量和局部变量中的重命名
通常情况下,这些方法称为getter和setter方法
因此,任何要访问类中私有成员变量的类都要通过这些getter
和seeter方法
封装:
继承:
继承就是子类继承父类的特征和行为,使得子类对象
具有父类实力语和方法,或子类从父类继承方法,使得子类具
有和父类形同的行为。所有继承需要符合的关系是:is-a,父
类更通用,子类共具体。
class 父类 {
}
class 子类 extends 父类 {
}
继承的格式
类的继承是单一继承,也就是说,一个子类只能拥有一个父类,所以 extends 只能继承一个类。
相关文章
- 暂无相关文章
用户点评