软件编程培训(安卓java),课程介绍 及 评论
联系QQ:3282149013 联系电话:075526402586
本节课程 评论:
课程内容概论:
变量的使用规则
public class VariableTest01 {
// 成员变量
// private int age = 6;
// 定义一个方法
public int getPrices(int num){
int age = 6;
if(num >= 3){
age += num;//age = age + num;
}
return age;//14
}
// 程序的入口方法 程序从这里开始执行
public static void main(String[] args){
int a= 8;
int ageInt = new VariableTest01().getPrices(a);
System.out.println(ageInt);//14
// int i;// 方法局部变量
for(int i = 0; i < 5; i++){
System.out.println(i);
i = 4;
}
// i = 5;
}
// 应当尽量缩写局部变量的作用范围,
}
当咱们定义一个成员变量时,成员变量将被放置到堆内存中,成员变量的作用域将扩大到类存在范围或对象存在范围,这种扩大的范围有两个坏处:
-
扩大了变量的生存时间,将导致更大的系统开销,降低运行性能;
-
扩大了变量的作用域,这不利于提高程序的内聚性。
public class ConstructorOver {
// 属性--------------------------------------
private int age;
// 构造器--------------------------------------
public ConstructorOver(){}
public ConstructorOver(int age){
this.age = age;
}
public ConstructorOver(int a, String b, boolean c){
age = a;
info(b, c);
}
// 方法----------------------------------------------
public void info(String b, boolean c){
if(age == 0 && c){
b += age;
System.out.println(b);
}
}
public int info(String b){
return 4;
}
public int getAge(){
return age;
}
}
public class ConstructorOverTest {
public static void main(String[] args){
int a01 = new ConstructorOver().getAge();
System.out.println(a01);//0
int a02 = new ConstructorOver(1).getAge();
System.out.println(a02);// 1
new ConstructorOver(0, "中国", true);
}
}
深入构造器
构造器最大的用处就是在创建对象时执行初始化。如果咱们想改变属性值得默认初始化,想让系统创建对象时就为该对象各属性相识指定初始值的话,就可以通过构造器来实现。
如果程序员没有为Java类提供任何构造器,则系统会为这个类提供一个无参数的构造器,这个构造器的执行体为空,不做任何事情。无论如何,Java类至少包含一个构造器。
构造器的重载
对于类ContructorTest中,有两个构造器,他们的构造器名称相同,但参数不同,这种情况就是构造器的重载。并且,在ConstructorTest类中包含多个构造器,也就意味着有多个对象初始化的逻辑(实现相应的功能),使用不同的构造器来初始化类ConstructorTest对象。
构造器重载和方法重载基本相似:要求构造器的名字相同,这一点无须刻意要求,因为构造器必须与类名相同,所以同一个类的所有构造器名肯定相同。为了让系统能区分不同的构造器,多个构造器的参数列表必须不同。即 系统通过new调用构造器时,系统将根据传入的实参类比来调用对应的构造器。
public class Person {
// 隐藏 封装
//private default protected public
// 定义了两个属性
private String name;// null
private int age; // 0
private String sex = "男";
// protected
public Person(){
}
public Person(String name){
this.name = name;
}
public Person(String name, int age){
this.name = name;
this.age = age;
}
// 定义一个方法
public String getNameAge(){
String str = name + age;
return str;
}
public static void main(String[] args){
Person p = new Person();
System.out.println("属性name = " + p.name);
System.out.println("属性age = " + p.age);
String str= p.getNameAge();
System.out.println("str= " + str);
System.out.println("-------------------------------------------------------- ");
Person p01 = new Person("安卓工程师", 88);
System.out.println("属性name = " + p01.name);
System.out.println("属性age = " + p01.age);
String str01= p01.getNameAge();
System.out.println("str01= " + str01);
}
}
public class PersonTest {
public static void main(String[] args){
Person ps = new Person("狗蛋", 18);
// System.out.println(ps.name);
// System.out.println(ps.age);
// System.out.println(ps.sex);
}
}