שאלה ב java/android

eliana9

New member
שאלה ב java/android

public class Const {


public static int screenWidth;
public static int screenHeight;

//button
int buttonWidth = screenWidth/8;
int buttonHeight = screenHeight/5;
}


האם אני אקבל את buttonWidth כנדרש או שזו שגיאה? (את screenWidth אני מעדכנת ביצירת ה activity ורק לאחר מכן משתמשת ב buttonWidth )
 

BravoMan

Active member
זה ממש לא ברור...

אתחול buttonWidth ו-buttonHeight יתבצע בכל פעם שתכתבי new Const() zz בקוד שלך. אם דאגת לאחסן נתונים נכונים ב-screenWidth ו-screenHeight לפני שהתחלת ליצור אובייקטים כאלה, אין שום בעיה. אם עשית זאת אחרי, תקבלי שגיאה על שימוש במשתנה לא מאותחל. למעשה, כבר עכשיו את המורה לקבל על זה Warning. בכל מקרה, פיסת הקוד הזו נראית כמו מתכון לאסון. יש פה מחלקה עם שם מטעה, יש פה איברים פומביים שכל אחד יכול לשנות ללא אזהרה, יש פה אתחול של איבר אחד עם איבר אחר בלי להבטיח שהאיבר שמשתמשים בו עבר בעצמו אתחול. בקיצור, אני לא יודע מה את מנסה לעשות, אבל הצורה שאת עושה את זה תינשך אותך באחוריים במוקדם או במאוחר.
 
למעלה